You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2019/08/15 18:45:38 UTC

[tomcat] 05/06: Add simplified Chinese translations

This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 5a0140ac44b1e05dbf2720e666b25be3ac395c96
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu Aug 15 19:39:48 2019 +0100

    Add simplified Chinese translations
---
 build.xml                                          |  10 ++
 java/javax/el/LocalStrings_zh_CN.properties        |  27 ++++
 java/javax/servlet/LocalStrings_zh_CN.properties   |  22 +++
 .../servlet/http/LocalStrings_zh_CN.properties     |  23 +++
 .../authenticator/LocalStrings_zh_CN.properties    |  42 ++++++
 .../connector/LocalStrings_zh_CN.properties        |  36 +++++
 .../catalina/core/LocalStrings_zh_CN.properties    |  99 +++++++++++++
 .../catalina/deploy/LocalStrings_zh_CN.properties  |  20 +++
 .../catalina/filters/LocalStrings_zh_CN.properties |  35 +++++
 .../ha/deploy/LocalStrings_zh_CN.properties        |  30 ++++
 .../ha/session/LocalStrings_zh_CN.properties       |  41 ++++++
 .../catalina/ha/tcp/LocalStrings_zh_CN.properties  |  17 +++
 .../catalina/loader/LocalStrings_zh_CN.properties  |  29 ++++
 .../catalina/manager/LocalStrings_zh_CN.properties | 154 +++++++++++++++++++++
 .../manager/host/LocalStrings_zh_CN.properties     |  84 +++++++++++
 .../catalina/realm/LocalStrings_zh_CN.properties   |  48 +++++++
 .../security/LocalStrings_zh_CN.properties         |  16 +++
 .../servlets/LocalStrings_zh_CN.properties         |  30 ++++
 .../catalina/session/LocalStrings_zh_CN.properties |  42 ++++++
 .../catalina/startup/LocalStrings_zh_CN.properties |  70 ++++++++++
 .../tribes/transport/LocalStrings_zh_CN.properties |  16 +++
 .../catalina/users/LocalStrings_zh_CN.properties   |  21 +++
 .../catalina/util/LocalStrings_zh_CN.properties    |  29 ++++
 .../catalina/valves/LocalStrings_zh_CN.properties  |  60 ++++++++
 .../apache/coyote/LocalStrings_zh_CN.properties    |  25 ++++
 .../coyote/ajp/LocalStrings_zh_CN.properties       |  20 +++
 .../coyote/http11/LocalStrings_zh_CN.properties    |  26 ++++
 .../http11/filters/LocalStrings_zh_CN.properties   |  24 ++++
 .../http11/upgrade/LocalStrings_zh_CN.properties   |  18 +++
 .../jasper/resources/LocalStrings_zh_CN.properties | 132 ++++++++++++++++++
 .../apache/naming/LocalStrings_zh_CN.properties    |  21 +++
 .../naming/factory/LocalStrings_zh_CN.properties   |  18 +++
 .../tomcat/util/LocalStrings_zh_CN.properties      |  23 +++
 .../tomcat/util/buf/LocalStrings_zh_CN.properties  |  17 +++
 .../tomcat/util/http/LocalStrings_zh_CN.properties |  23 +++
 .../util/http/parser/LocalStrings_zh_CN.properties |  25 ++++
 .../tomcat/util/scan/LocalStrings_zh_CN.properties |  21 +++
 .../tomcat/websocket/LocalStrings_zh_CN.properties |  56 ++++++++
 .../websocket/pojo/LocalStrings_zh_CN.properties   |  25 ++++
 .../websocket/server/LocalStrings_zh_CN.properties |  25 ++++
 res/maven/mvn-pub.xml                              |   1 +
 res/maven/tomcat-i18n-zh-CN.pom                    |  35 +++++
 webapps/docs/changelog.xml                         |   4 +
 .../WEB-INF/classes/LocalStrings_zh_CN.properties  |  38 +++++
 44 files changed, 1578 insertions(+)

diff --git a/build.xml b/build.xml
index 8d8b507..37f0b11 100644
--- a/build.xml
+++ b/build.xml
@@ -890,6 +890,16 @@
       <zipfileset file="${tomcat.manifests}/default.license"
         fullpath="META-INF/LICENSE" />
     </jar>
+    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-zh-CN.jar"
+      manifest="${tomcat.manifests}/default.manifest">
+      <fileset dir="${tomcat.classes}">
+        <include name="**/LocalStrings_zh_CN.properties" />
+      </fileset>
+      <zipfileset file="${tomcat.manifests}/default.notice"
+        fullpath="META-INF/NOTICE" />
+      <zipfileset file="${tomcat.manifests}/default.license"
+        fullpath="META-INF/LICENSE" />
+    </jar>
 
   </target>
 
diff --git a/java/javax/el/LocalStrings_zh_CN.properties b/java/javax/el/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..1803a07
--- /dev/null
+++ b/java/javax/el/LocalStrings_zh_CN.properties
@@ -0,0 +1,27 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+expressionFactory.cannotCreate=无法创建类型为[{0}]的表达式工厂
+expressionFactory.readFailed=无法读取[{0}]
+
+objectNotAssignable=无法将类型为[{0}]的对象添加到[{1}]类型的对象数组中
+propertyNotFound=类型[{0}]上找不到属性[{1}]
+propertyNotReadable=属性[{1}]在类型[{0}]上不可读
+propertyNotWritable=属性[{1}]在类型[{0}]上不可写
+propertyReadError=在类型[{0}]上读取[{1}]时出错
+propertyWriteError=在类型[{0}]上写入[{1}]时出错
+
+util.method.ambiguous=无法找到明确的方法:{0}.{1}({2})
+util.method.notfound=找不到方法:{0}.{1}({2})
diff --git a/java/javax/servlet/LocalStrings_zh_CN.properties b/java/javax/servlet/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..7fc4358
--- /dev/null
+++ b/java/javax/servlet/LocalStrings_zh_CN.properties
@@ -0,0 +1,22 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+err.not_iso8859_1=不是ISO 8859-1字符:[{0}]
+
+httpConstraintElement.invalidRolesDeny=使用 DENY 时可能未指定角色
+
+httpMethodConstraintElement.invalidMethod=无效的HTTP.方法
+
+value.true=true
diff --git a/java/javax/servlet/http/LocalStrings_zh_CN.properties b/java/javax/servlet/http/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..c471410
--- /dev/null
+++ b/java/javax/servlet/http/LocalStrings_zh_CN.properties
@@ -0,0 +1,23 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+err.cookie_name_blank=Cookie名称不能为null或零长度
+err.io.short_read=短.读
+
+http.method_delete_not_supported=此URL不支持Http方法DELETE
+http.method_get_not_supported=此URL不支持Http方法GET
+http.method_not_implemented=这个servlet没有为这个URI实现方法[{0}]
+http.method_post_not_supported=此URL不支持Http方法POST
+http.method_put_not_supported=此URL不支持HTTP方法PUT
diff --git a/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties b/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..1458009
--- /dev/null
+++ b/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties
@@ -0,0 +1,42 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+authenticator.certificates=此请求中没有客户端证书链
+authenticator.changeSessionId=在身份验证时, 会话 ID 从 [{0} 更改为 [{1}]
+authenticator.check.found=已通过身份验证 [{0}]
+authenticator.check.sso=未经过身份验证但找到了SSO会话ID [{0}]。尝试重新验证。
+authenticator.formlogin=对表单登录页的直接引用无效
+authenticator.loginFail=登录失败
+authenticator.manager=初始化信任管理器异常
+authenticator.noAuthHeader=客户端未发送授权请求头
+authenticator.notContext=配置错误:必须被附属于一个上下文
+authenticator.requestBodyTooBig=请求正文太大,无法在身份验证过程中进行缓存
+authenticator.sessionExpired=已超出登录过程所允许的时间。 如果您希望继续,则必须单击两次后退并重新单击您请求的链接或先关闭然后重新打开浏览器
+authenticator.tomcatPrincipalLogoutFail=使用TomcatPrincipal实例注销失败
+authenticator.unauthorized=无法使用提供的凭据进行身份验证
+
+basicAuthenticator.invalidCharset=只允许值为null、空字符串或UTF-8
+
+digestAuthenticator.cacheRemove=已从客户端 nonce 缓存中删除有效条目,以便为新条目腾出空间。重播攻击现在是可能的。为防止重播攻击的可能性,请降低nonceValidity或增加nonceCacheSize。此类型的进一步警告将被抑制5分钟。
+
+singleSignOn.debug.cookieCheck=SSO检查SSO cookie
+singleSignOn.debug.cookieNotFound=SSO没有找到SSO cookie
+singleSignOn.debug.principalFound=SSO 找到了带着认证类型的缓存代理
+singleSignOn.debug.removeSession=SSO 从 SSO session [{1}] 中删除应用程序会话 [{0}]
+singleSignOn.debug.update=SSO 更新SSO 会话[{0}] 对认证 类型[{1}]
+singleSignOn.sessionExpire.hostNotFound=因为 Host 丢失,SSO 无法使 session [{0}] 失效
+singleSignOn.sessionExpire.managerError=由于会话管理器在检索会话时抛出异常,导致单点登录无法使会话[{0}]失效
+
+spnegoAuthenticator.authHeaderNoToken=客户端发送的协商授权 header 未包含 token
diff --git a/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties b/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..4c84e76
--- /dev/null
+++ b/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties
@@ -0,0 +1,36 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+coyoteAdapter.checkRecycled.response=遇到非回收的相应并强行回收。
+coyoteAdapter.debug=变量[{0}]的值为[{1}]。
+coyoteAdapter.parsePathParam=无法使用编码[{0}]解析地址参数,url中的该地址参数将被忽略
+
+coyoteConnector.invalidPort=连接器不能启动,因为指定的端口 [{0}]无效
+coyoteConnector.parseBodyMethodNoTrace=方法TRACE禁止包含实体(详情查看RFC 2616 章节 9.6)
+coyoteConnector.protocolHandlerInstantiationFailed=协议处理程序实例化失败
+coyoteConnector.protocolHandlerPauseFailed=协议处理程序暂停失败
+coyoteConnector.protocolHandlerStopFailed=协议处理程序.停止失败
+
+coyoteRequest.chunkedPostTooLarge=由于请求参数数据太大,导致参数不能解析。因为当前请求是块状请求,后续也不会处理。如果应用程序需要接收大的POST请求,可以使用连接器的maxPostSize解决它。
+coyoteRequest.gssLifetimeFail=为用户主体 [{0}] 获取剩余生命期失败
+coyoteRequest.setAttribute.namenull=不能在一个空的名字上调用setAttribute
+
+coyoteResponse.sendRedirect.note=<html><body><p>重定向到<a href="{0}">{0}</a></p></body></html>
+
+request.asyncNotSupported=当前链的筛选器或servlet不支持异步操作。
+
+requestFacade.nullRequest=请求对象已被回收,不再与此facade关联
+
+responseFacade.nullResponse=响应对象已被回收,不再与此外观关联
diff --git a/java/org/apache/catalina/core/LocalStrings_zh_CN.properties b/java/org/apache/catalina/core/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..6c41e22
--- /dev/null
+++ b/java/org/apache/catalina/core/LocalStrings_zh_CN.properties
@@ -0,0 +1,99 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+applicationContext.addListener.iae.cnfe=无法创建类型为 [{0}] 的实例
+applicationContext.addListener.iae.wrongType=指定的类型[{0}]不是预期的侦听器类型之一
+applicationContext.addRole.ise=上下文被初始化后,角色不能再被添加到[{0}]中
+applicationContext.attributeEvent=属性事件监听器引发的异常
+applicationContext.invalidServletName=由于servlet名称[{0}]无效,无法添加对应servlet的定义。
+applicationContext.mapping.error=映射中.的错误
+applicationContext.setAttribute.namenull=Name 不能为 null
+applicationContext.setSessionTracking.iae.ssl=为上下文 [{0}] 请求的 session 跟踪模式包括 SSL 和至少一种其他模式。 SSL可能未配置其他模式。
+applicationContext.setSessionTracking.ise=当上下文正在运行,无法设置上下文[{0}]的会话跟踪模式
+
+applicationDispatcher.specViolation.response=原始的ServletResponse或包装后的ServletResponse未传递给RequestDispatcher,原因:违反了SRV.8.2和SRV.14.2.5.1\n\
+\n
+
+applicationFilterConfig.release=失败的销毁过滤器类型为[{1}]名称为[{0}]
+
+applicationFilterRegistration.nullInitParams=由于name和(或)value为null,无法为过滤器设置初始化参数。name为 [{0}],value为 [{1}]
+
+aprListener.aprInitError=基于APR的本地库加载失败.错误报告为[{0}]
+aprListener.initializeFIPSSuccess=成功的进入FIPS 模式
+aprListener.initializingFIPS=初始化FIPS模式...
+aprListener.tooLateForSSLRandomSeed=无法设置 SSLRandomSeed:SSL已经初始化
+
+containerBase.backgroundProcess.unexpectedThreadDeath=后台线程[{0}]意外结束
+containerBase.nullName=容器名称不能为null
+containerBase.threadedStartFailed=子容器启动失败
+
+defaultInstanceManager.invalidInjection=方法资源注入注解无效
+defaultInstanceManager.restrictedContainerServlet=禁止访问类 [{0}]。 它是一个受限制的类(实现了 ContainerServlet 接口)。 必须将 Web 应用程序配置为特权才能加载它
+defaultInstanceManager.restrictedListenersResource=无法找到RestrictedListener的配置文件[{0}]
+
+filterChain.filter=Filter 执行抛出一个异常
+
+naming.addEnvEntry=添加环境条目 [{0}]
+naming.addResourceEnvRef=添加资源环境引用 [{0}]
+naming.invalidEnvEntryType=环境条目[{0}]没有一个有效哦的类型
+naming.jmxRegistrationFailed=注册到JMX失败:[{0}]
+naming.namingContextCreationFailed=创建上下文名称失败
+
+standardContext.applicationListener=配置应用程序监听器[{0}]错误
+standardContext.errorPage.required=ErrorPage不能为null
+standardContext.errorPage.warning=警告:在Servlet 2.4中,错误页位置 [{0}] 必须以"/"开头
+standardContext.filterMap.either=过滤器映射必须指定 <url-pattern> 或 <servlet-name>
+standardContext.filterMap.name=Filter mapping 指定了一个未知的 filter名称 [{0}]
+standardContext.filterMap.pattern=过滤器映射中的<url-pattern> [{0}] 无效
+standardContext.filterStart=启动过滤器异常
+standardContext.invalidWrapperClass=[{0}] 不是StandardWrapper的子类
+standardContext.isUnavailable=此应用程序目前不可用
+standardContext.listenerStart=异常将上下文初始化事件发送到类的侦听器实例.[{0}]
+standardContext.loginConfig.errorPage=表单错误页[{0}]必须以"/"开始
+standardContext.loginConfig.errorWarning=警告:Servlet 2.4中,表单错误页[{0}]必须以"/"开始
+standardContext.loginConfig.loginPage=表单登录页面 [{0}] 必须以''/''开头
+standardContext.manager=配置类为[{0}]的管理器
+standardContext.managerFail=会话管理器无法启动
+standardContext.namingResource.init.fail=未能初始化新的命名资源
+standardContext.notStarted=名为[{0}]的上下文还没有被启动
+standardContext.parameter.duplicate=重复的上下文初始化参数[{0}]
+standardContext.predestroy.duplicate=类 [{0}] 的 @PreDestroy 方法定义重复
+standardContext.resourcesInit=初始化静态变量错误
+standardContext.resourcesStart=启动静态资源出错
+standardContext.resourcesStop=停止静态资源时出错
+standardContext.securityConstraint.mixHttpMethod=在相同的web资源集合中不允许混用: <http-method> 和 <http-method-omission>
+standardContext.securityConstraint.pattern=安全约束中的<url-pattern> [{0}] 无效
+standardContext.servletFail=启动时无法加载一个或多个Servlet。 全部的详细信息可在相应的容器日志文件中找到
+standardContext.startingContext=启动Context[{0}]出现异常
+standardContext.stop.asyncWaitInterrupted=等待卸载延迟毫秒以完成飞行中的异步请求时收到中断。上下文停止将继续,不会有进一步的延迟。
+standardContext.stoppingContext=异常停止的上下文使用名为[{0}]
+standardContext.workCreateFail=无法为上下文[{1}]创建工作目录[{0}]
+
+standardContextValve.acknowledgeException=以100(继续)响应确认请求失败
+
+standardEngine.notParent=引擎不能有父容器
+
+standardHost.noContext=没有配置上下文来处理此请求
+standardHost.notContext=主机的子节点必须有上下文
+
+standardServer.accept.timeout=在调用accept()方法之后,侦听shutdown命令的套接字经历了意外的超时[{0}]毫秒。 这是bug 56684的一个例子?
+
+standardWrapper.destroyInstance=servlet[{0}]实例管理销毁(destroy) 抛出异常
+standardWrapper.isUnavailable=Servlet [{0}]当前不可用。
+standardWrapper.notChild=Wrapper容器内部不允许有子容器。
+standardWrapper.notFound=Servlet [{0}] 不可用
+standardWrapper.unloading=无法分配servlet [{0}],因为它没有被加载
+
+threadLocalLeakPreventionListener.containerEvent.error=异常处理容器事件[{0}]
diff --git a/java/org/apache/catalina/deploy/LocalStrings_zh_CN.properties b/java/org/apache/catalina/deploy/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..471ab8b
--- /dev/null
+++ b/java/org/apache/catalina/deploy/LocalStrings_zh_CN.properties
@@ -0,0 +1,20 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+namingResources.cleanupCloseSecurity=无法检索容器[{2}]中的资源[{1}]的方法[{0}],因此没有对该资源进行清理
+namingResources.ejbLookupLink=EJB的引用[{0}]同时指定了ejb-link和lookup-name
+namingResources.envEntryLookupValue=环境参数 [{0}] 指定查询名称和值
+namingResources.mbeanDestroyFail=失败的销毁命名资源[{0}]为MBean
+namingResources.resourceTypeFail=名为[{0}]的JNDI资源是类型[{1}],但是该类型与为该资源配置的注入目标的类型不一致
diff --git a/java/org/apache/catalina/filters/LocalStrings_zh_CN.properties b/java/org/apache/catalina/filters/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..13bd995
--- /dev/null
+++ b/java/org/apache/catalina/filters/LocalStrings_zh_CN.properties
@@ -0,0 +1,35 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+corsFilter.invalidPreflightMaxAge=无法解析 preflightMaxAge
+corsFilter.nullRequest=HttpServletRequest 对象为空
+corsFilter.nullRequestType=CORSRequestType对象为空(null)
+corsFilter.onlyHttp=CORS不支持非HTTP请求或响应
+
+csrfPrevention.invalidRandomClass=不能使用class [{0}]创建随机源.
+
+expiresFilter.noExpirationConfiguredForContentType=没有为 content-type [{0}] 找到过期配置
+expiresFilter.startingPointInvalid=在指令[{1}]中无效的起点(访问|现在|修改|a<秒>|m<秒>)[{0}]
+expiresFilter.unsupportedStartingPoint=不支持的起始点 [{0}]
+expiresFilter.useMatchingConfiguration=对内容类型[{2}]返回[{3}]使用[{0}]匹配[{1}]
+
+http.403=禁止访问指定资源 [{0}] 。
+
+httpHeaderSecurityFilter.clickjack.invalid=\n\
+\ 为防咔嗒顶部标题指定了无效值[{0}]
+
+remoteCidrFilter.noRemoteIp=客户端没有 IP 地址。请求被拒绝。
+
+requestFilter.deny=基于属性:[{1}],[{0}]的请求被拒绝。
diff --git a/java/org/apache/catalina/ha/deploy/LocalStrings_zh_CN.properties b/java/org/apache/catalina/ha/deploy/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..e26c113
--- /dev/null
+++ b/java/org/apache/catalina/ha/deploy/LocalStrings_zh_CN.properties
@@ -0,0 +1,30 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+farmWarDeployer.hostOnly=FarmWarDeployer 只有做为 host cluster 的子元素是才生效
+farmWarDeployer.modInstall=从 [{1}] 安装 webapp [{0}]
+farmWarDeployer.modInstallFail=无法安装 WAR 文件
+farmWarDeployer.msgIoe=无法读取服务器场部署文件消息。
+farmWarDeployer.msgRxUndeploy=从路径[{0}]接收未部署群集
+farmWarDeployer.removeFailLocal=从[{0}]本地移除失败
+farmWarDeployer.removeFailRemote=本地从[{0}]删除失败,其他经理有app在服务!
+farmWarDeployer.removeLocalFail=无法移除WAR文件
+farmWarDeployer.servicingUndeploy=正在处理应用程序[{0}],无法从备份群集节点中删除它
+farmWarDeployer.undeployEnd=从[{0}]取消部署完成。
+farmWarDeployer.undeployLocal=不能部署本地上下文[{0}]
+
+warWatcher.cantListWatchDir=无法列出WatchDir文件夹 [{0}] 中的文件:检查该路径是否为目录且应用具有读取权限。
+warWatcher.checkWarResult=WarInfo.check() 为[{1}]返回[{0}]
+warWatcher.checkingWar=检查 WAR 文件 [{0}]
diff --git a/java/org/apache/catalina/ha/session/LocalStrings_zh_CN.properties b/java/org/apache/catalina/ha/session/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..39f280d
--- /dev/null
+++ b/java/org/apache/catalina/ha/session/LocalStrings_zh_CN.properties
@@ -0,0 +1,41 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+backupManager.noCluster=没有与此上下文关联的集群:[{0}]
+backupManager.startFailed=启动BackupManager: [{0}]失败
+backupManager.startUnable=无法启动BackupManager: [{0}]
+backupManager.stopped=管理者[{0}]正在停止。
+
+deltaManager.createSession.newSession=用id[{0}]创建一个扩展会话(DeltaSession),总数为 [{1}]
+deltaManager.foundMasterMember=复制主master 成员在上下文中被发现.\n
+deltaManager.loading.cnfe=加载持久化会话 [{0}] 时出现ClassNotFoundException
+deltaManager.loading.ioe=加载持久 session 时出现 IOException:[{0}]
+deltaManager.noSessionState=管理者[{0}]:没有收到[{1}]发送的会话状态,在[{2}]毫秒之后超时。
+deltaManager.receiveMessage.allSessionDataAfter=Manager [{0}]: session 状态反序列化
+deltaManager.receiveMessage.allSessionDataBegin=管理者[{0}]:接收到所有会话数据状态
+deltaManager.receiveMessage.delta.unknown=管理器[{0}]:未知会话的接收会话增量[{1}]
+deltaManager.receiveMessage.expired=管理器[{0}]: 接收到的会话 [{1}] 已过期。
+deltaManager.receiveMessage.unloadingBegin=管理器[{0}]: 开始卸载会话
+deltaManager.sendMessage.newSession=\ 管理器 [{0}] 发送新的会话 [{1}]
+deltaManager.unableSerializeSessionID=无法序列化会话ID [{0}]
+deltaManager.unloading.ioe=当保存永久回话:[{0}] 时,抛出 IOException
+
+deltaRequest.showPrincipal=Principal [{0}] 和session [{1}]产生关联。
+deltaRequest.wrongPrincipalClass=ClusterManager仅支持GenericPrincipal。 你的Realm使用的Principal类为[{0}]。
+
+deltaSession.writeSession=writeObject()存储会话[{0}]
+
+jvmRoute.changeSession=会话从[{0}]切换到[{1}]
+jvmRoute.notFoundManager=没有在 [{0}] 找到Cluster Manager
diff --git a/java/org/apache/catalina/ha/tcp/LocalStrings_zh_CN.properties b/java/org/apache/catalina/ha/tcp/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..c854eba
--- /dev/null
+++ b/java/org/apache/catalina/ha/tcp/LocalStrings_zh_CN.properties
@@ -0,0 +1,17 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ReplicationValve.filter.failure=无法编译 filter = [{0}]
+ReplicationValve.session.found=上下文[{0}]:找到会话[{1}]但它不是ClusterSession。
diff --git a/java/org/apache/catalina/loader/LocalStrings_zh_CN.properties b/java/org/apache/catalina/loader/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..15469c4
--- /dev/null
+++ b/java/org/apache/catalina/loader/LocalStrings_zh_CN.properties
@@ -0,0 +1,29 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+webappClassLoader.addTransformer=将类文件转换器[{0}]添加到Web应用程序[{1}]。
+webappClassLoader.checkThreadLocalsForLeaks.badValue=无法确定类型为 [{0}] 的值的字符串表示形式
+webappClassLoader.checkThreadLocalsForLeaks.unknown=:)未知
+webappClassLoader.checkThreadLocalsForLeaksNone=web应用程序 [{0}] 创建了1个ThreadLocal变量(键:[{2}] (类型[{1}]) ,值:[{4}](类型[{3}]) )。键仅被ThreadLocal Map弱引用,所以不是内存泄露。
+webappClassLoader.clearJdbc=Web应用程序 [{0}] 注册了JDBC驱动程序 [{1}],但在Web应用程序停止时无法注销它。 为防止内存泄漏,JDBC驱动程序已被强制取消注册。
+webappClassLoader.clearReferencesResourceBundlesCount=从Web应用[{1}]的缓存中删除了[{0}] ResourceBundle引用
+webappClassLoader.clearReferencesResourceBundlesFail=无法清除Web应用程序 [{0}] 的ResourceBundle引用
+webappClassLoader.jdbcRemoveFailed=Web应用程序 [{0}] 的JDBC驱动程序注销失败
+webappClassLoader.readError=资源读取错误:不能加载 [{0}].
+webappClassLoader.validationErrorJarPath=无法验证名称为 [{0}] 的 JAR 条目
+webappClassLoader.wrongVersion=(无法载入的.类 [{0}])
+
+webappLoader.copyFailure=无法复制资源
+webappLoader.mkdirFailure=无法创建目标目录以复制资源
diff --git a/java/org/apache/catalina/manager/LocalStrings_zh_CN.properties b/java/org/apache/catalina/manager/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..2330cf5
--- /dev/null
+++ b/java/org/apache/catalina/manager/LocalStrings_zh_CN.properties
@@ -0,0 +1,154 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+htmlManagerServlet.appsAvailable=运行中
+htmlManagerServlet.appsExpire=过期会话
+htmlManagerServlet.appsName=显示.名称
+htmlManagerServlet.appsPath=路径
+htmlManagerServlet.appsReload=重新加载
+htmlManagerServlet.appsSessions=会话
+htmlManagerServlet.appsStart=启动
+htmlManagerServlet.appsStop=停止
+htmlManagerServlet.appsTasks=命令
+htmlManagerServlet.appsTitle=应用程序
+htmlManagerServlet.appsUndeploy=卸载
+htmlManagerServlet.appsVersion=版本号
+htmlManagerServlet.connectorStateAliveSocketCount=存活套接字总数:
+htmlManagerServlet.connectorStateBytesRecieved=收到字节:
+htmlManagerServlet.connectorStateBytesSent=发送.字节:
+htmlManagerServlet.connectorStateErrorCount=错误数:
+htmlManagerServlet.connectorStateHint=P:解析和准备request S:服务 F:结束 R:就绪 K:存活
+htmlManagerServlet.connectorStateMaxProcessingTime=最大处理时间:
+htmlManagerServlet.connectorStateMaxThreads=最大线程:
+htmlManagerServlet.connectorStateProcessingTime=处理时间:
+htmlManagerServlet.connectorStateRequestCount=请求总数:
+htmlManagerServlet.connectorStateTableTitleBRecv=接收字节
+htmlManagerServlet.connectorStateTableTitleBSent=发送字节:
+htmlManagerServlet.connectorStateTableTitleClientAct=客户端(实际)
+htmlManagerServlet.connectorStateTableTitleClientForw=客户端(转发)
+htmlManagerServlet.connectorStateTableTitleRequest=请求
+htmlManagerServlet.connectorStateTableTitleStage=阶段
+htmlManagerServlet.connectorStateTableTitleTime=时间
+htmlManagerServlet.connectorStateTableTitleVHost=虚拟主机
+htmlManagerServlet.connectorStateThreadBusy=当前线程繁忙:
+htmlManagerServlet.connectorStateThreadCount=当前线程数:
+htmlManagerServlet.deployButton=:)部署
+htmlManagerServlet.deployConfig=XML配置文件路径:
+htmlManagerServlet.deployServer=服务器上.部署的目录或WAR文件
+htmlManagerServlet.deployTitle=部署
+htmlManagerServlet.deployUpload=要部署的WAR文件
+htmlManagerServlet.deployUploadFail=失败 - 部署上传失败,异常信息:[{0}]
+htmlManagerServlet.deployUploadFile=选择要上传的WAR文件
+htmlManagerServlet.deployUploadInServerXml=失败 - 如果context是定义在server.xml中,War文件[{0}]无法上传
+htmlManagerServlet.deployUploadNoFile=失败 - 文件上传失败,没有文件
+htmlManagerServlet.deployUploadNotWar=失败 - 上传的文件[{0}]必须是一个.war文件
+htmlManagerServlet.deployUploadWarExists=失败 - War文件 [{0}] 已存在于服务器上
+htmlManagerServlet.deployWar=WAR文件或文件夹路径:
+htmlManagerServlet.diagnosticsLeak=检查Web应用程序是否在停止、重新加载或取消部署时导致内存泄漏
+htmlManagerServlet.diagnosticsLeakButton=发现泄漏
+htmlManagerServlet.diagnosticsLeakWarning=诊断检查将触发完整的垃圾收集,在生产系统中使用时要格外小心。
+htmlManagerServlet.diagnosticsTitle=诊断
+htmlManagerServlet.expire.explain=闲置 &ge;
+htmlManagerServlet.expire.unit=分钟
+htmlManagerServlet.findleaksList=以下web应用程序已停止(重新加载、卸载),但是它们的类仍然加载在内存中,因此导致了内存泄漏(使用分析器确认):
+htmlManagerServlet.findleaksNone=似乎没有任何Web应用程序在停止、重新加载或取消部署时触发内存泄漏。
+htmlManagerServlet.helpHtmlManager=HTML管理器帮助
+htmlManagerServlet.helpHtmlManagerFile=../docs/html-manager-howto.html
+htmlManagerServlet.helpManager=管理者帮助
+htmlManagerServlet.helpManagerFile=../docs/manager-howto.html
+htmlManagerServlet.jvmFreeMemory=剩余内存:
+htmlManagerServlet.jvmMaxMemory=最大内存
+htmlManagerServlet.jvmTableTitleInitial=初始化
+htmlManagerServlet.jvmTableTitleMaximum=最大.值
+htmlManagerServlet.jvmTableTitleMemoryPool=内存.池
+htmlManagerServlet.jvmTableTitleTotal=总共
+htmlManagerServlet.jvmTableTitleType=类型
+htmlManagerServlet.jvmTableTitleUsed=已用
+htmlManagerServlet.jvmTotalMemory=总内存
+htmlManagerServlet.list=应用程序列表
+htmlManagerServlet.manager=管理器
+htmlManagerServlet.messageLabel=消息:
+htmlManagerServlet.noManager=-
+htmlManagerServlet.noVersion=未指定
+htmlManagerServlet.osAvailableMemory=可用内存:
+htmlManagerServlet.osFreePageFile=可用页文件:
+htmlManagerServlet.osKernelTime=内核处理时间:
+htmlManagerServlet.osMemoryLoad=加载内存:
+htmlManagerServlet.osPhysicalMemory=物理内存
+htmlManagerServlet.osTotalPageFile=最大页文件:
+htmlManagerServlet.osUserTime=用户态处理实际:
+htmlManagerServlet.serverHostname=主机名
+htmlManagerServlet.serverIPAddress=IP地址
+htmlManagerServlet.serverJVMVendor=JVM提供商
+htmlManagerServlet.serverJVMVersion=JVM.版本
+htmlManagerServlet.serverOSArch=操作系统架构
+htmlManagerServlet.serverOSName=OS.名称
+htmlManagerServlet.serverOSVersion=操作系统版本
+htmlManagerServlet.serverTitle=服务器信息
+htmlManagerServlet.serverVersion=Tomcat.版本
+htmlManagerServlet.title=Tomcat Web应用程序管理者
+
+managerServlet.alreadyContext=失败 - 应用程序已存在于路径 [{0}]
+managerServlet.deleteFail=失败 - 不能删除[{0}]。这个文件一直存在会出现问题。
+managerServlet.deployFailed=FAIL - 在上下文路径[{0}]下部署应用失败
+managerServlet.deployed=OK - 以应用path [{0}] 部署应用
+managerServlet.deployedButNotStarted=失败 - 在上下文[{0}]下部署应用程序,但是上下文启动失败。
+managerServlet.exception=失败 - 发生异常[{0}]
+managerServlet.findleaksFail=失败 - 查找泄漏失败:主机非StandardHost示例
+managerServlet.findleaksList=OK - 在以下应用程序中发现潜在的内存泄漏
+managerServlet.findleaksNone=OK - 没有发现内存泄漏
+managerServlet.inService=失败 - 应用程序[{0}]已服务
+managerServlet.invalidCommand=失败 - 无效参数,命令[{0}]
+managerServlet.invalidPath=失败 - 指定了无效到上下文路径[{0}]
+managerServlet.listed=OK - 虚拟主机[{0}]下的应用程序列表
+managerServlet.listitem={0}:{1}:{2}:{3}
+managerServlet.mkdirFail=失败 - 无法创建目录 [{0}]
+managerServlet.noCommand=失败 - 未指定命令
+managerServlet.noContext=失败 - 上下文环境[{0}]不存在
+managerServlet.noGlobal=失败 - 没有可用的全局 JNDI 资源
+managerServlet.noManager=失败 - 路径[{0}]下无管理器存在
+managerServlet.noSelf=失败 - 管理器不能重新加载、卸载、停止或者卸载它自身
+managerServlet.noWrapper=容器未为当前servlet调用setWrapper()
+managerServlet.notDeployed=失败 - 上下文[{0}]定义在server.xml中且可能未卸载
+managerServlet.objectNameFail=FAIL - 不能将为Manager Servlet 注册 object name  [{0}]
+managerServlet.postCommand=失败 - 尝试通过GET请求使用命令[{0}],但需要POST
+managerServlet.reloaded=OK - 上下文路径[{0}]重新加载应用程序
+managerServlet.resourcesAll=OK - 列出所有类型的全部资源
+managerServlet.resourcesType=OK - [{0}]类型全局资源列入清单
+managerServlet.saveFail=失败 - 配置保存失败:[{0}]
+managerServlet.saved=OK - 服务器配置已保存
+managerServlet.savedContext=OK - 上下文[{0}]配置已保存
+managerServlet.serverInfo=OK - 服务器信息\n\
+Tomcat版本: [{0}]\n\
+操作系统名称: [{1}]\n\
+操作系统版本: [{2}]\n\
+操作系统架构: [{3}]\n\
+JVM版本: [{4}]\n\
+JVM提供商: [{5}]
+managerServlet.sessiondefaultmax=最大会话时间失活间隔是[{0}]分钟
+managerServlet.sessions=OK - 上下文路径[{0}]的会话信息
+managerServlet.sessiontimeout=失活[{0}]分钟:[{1}]会话
+managerServlet.sessiontimeout.expired=失活[{0}]分钟:[{1}]会话过期
+managerServlet.sessiontimeout.unlimited=无限制到时间:[{0}]会话
+managerServlet.startFailed=失败 - 上下文路径[{0}]下,应用程序无法启动
+managerServlet.started=OK - 在上下文路径[{0}]下启动应用程序
+managerServlet.stopped=OK - 上下文路径[{0}]下停止应用程序
+managerServlet.threaddump=OK - JVM线程转储
+managerServlet.undeployed=OK - 未部署的应用位于上下文路径[{0}]
+managerServlet.unknownCommand=FAIL - 未知命令 [{0}]
+managerServlet.vminfo=OK - VM信息
+
+statusServlet.complete=完整的服务器状态
+statusServlet.title=服务器状态
diff --git a/java/org/apache/catalina/manager/host/LocalStrings_zh_CN.properties b/java/org/apache/catalina/manager/host/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..6de8be1
--- /dev/null
+++ b/java/org/apache/catalina/manager/host/LocalStrings_zh_CN.properties
@@ -0,0 +1,84 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+hostManagerServlet.add=添加:添加主机[{0}]
+hostManagerServlet.addFailed=失败 - 添加主机 [{0}] 失败
+hostManagerServlet.addSuccess=确定-添加主机[{0}]
+hostManagerServlet.alreadyHost=失败 - 主机名称[{0}]已经存在
+hostManagerServlet.alreadyStarted=失败 - Host[{0}]已经启动。
+hostManagerServlet.alreadyStopped=失败 - 主机[{0}]已经停止
+hostManagerServlet.appBaseCreateFail=失败 - 创建appBase目录[{0}]失败,主机:[{1}]
+hostManagerServlet.cannotRemoveOwnHost=失败 - 无法移除你的主机[{0}]
+hostManagerServlet.cannotStartOwnHost=失败 - 无法启动主机[{0}]
+hostManagerServlet.cannotStopOwnHost=失败 - 无法停止主机[{0}]
+hostManagerServlet.configBaseCreateFail=失败 - 无法识别主机[{0}]的基础配置
+hostManagerServlet.exception=失败 - 出现异常[{0}]
+hostManagerServlet.invalidHostName=失败 - 指定的主机名称[{0}]无效
+hostManagerServlet.list=列表:列出引擎[{0}]的主机
+hostManagerServlet.listed=OK - 已列出Host
+hostManagerServlet.listitem=[{0}]:[{1}]
+hostManagerServlet.managerXml=FAIL - 无法安装manager.xml
+hostManagerServlet.noCommand=失败 - 未指定命令
+hostManagerServlet.noHost=失败 - 主机名称[{0}]不存在
+hostManagerServlet.noWrapper=容器未给当前servlet设置setWrapper()
+hostManagerServlet.postCommand=失败 - 尝试通过GET请求使用命令[{0}],但是需要使用POST请求
+hostManagerServlet.remove=移除:正在移除主机 [{0}]
+hostManagerServlet.removeFailed=失败 - 无法移除主机 [{0}]
+hostManagerServlet.removeSuccess=确定-已删除主机[{0}]
+hostManagerServlet.start=启动:启动主机[{0}]
+hostManagerServlet.startFailed=失败 - 无法启动主机 [{0}]
+hostManagerServlet.started=OK - 主机 [{0}] 已启动
+hostManagerServlet.stop=停止:停止主机[{0}]
+hostManagerServlet.stopFailed=失败 - 无法停止主机 [{0}]
+hostManagerServlet.stopped=OK - 主机 [{0}] 已停止
+hostManagerServlet.unknownCommand=失败 - 未知命令 [{0}]
+
+htmlHostManagerServlet.addAliases=别名:
+htmlHostManagerServlet.addAppBase=应用程序库:
+htmlHostManagerServlet.addAutoDeploy=自动.部署
+htmlHostManagerServlet.addButton=添加
+htmlHostManagerServlet.addCopyXML=拷贝XML
+htmlHostManagerServlet.addDeployOnStartup=启动.部署
+htmlHostManagerServlet.addDeployXML=部署XML
+htmlHostManagerServlet.addHost=主机
+htmlHostManagerServlet.addManager=管理 App
+htmlHostManagerServlet.addName=名称
+htmlHostManagerServlet.addTitle=添加.虚拟主机
+htmlHostManagerServlet.addUnpackWARs=解压WARs
+htmlHostManagerServlet.helpHtmlManager=HTML主机管理器帮助
+htmlHostManagerServlet.helpHtmlManagerFile=../docs/html-host-manager-howto.html
+htmlHostManagerServlet.helpManager=主机管理器帮助
+htmlHostManagerServlet.helpManagerFile=../docs/host-manager-howto.html
+htmlHostManagerServlet.hostAliases=主机别名
+htmlHostManagerServlet.hostName=主机名
+htmlHostManagerServlet.hostTasks=命令
+htmlHostManagerServlet.hostThis=主机管理器已安装 - 命令不可用
+htmlHostManagerServlet.hostsRemove=移除
+htmlHostManagerServlet.hostsStart=启动
+htmlHostManagerServlet.hostsStop=停止
+htmlHostManagerServlet.list=列出虚拟主机
+htmlHostManagerServlet.manager=主机.管理器
+htmlHostManagerServlet.messageLabel=消息:
+htmlHostManagerServlet.serverJVMVendor=JVM供应商
+htmlHostManagerServlet.serverJVMVersion=JVM版本
+htmlHostManagerServlet.serverOSArch=操作系统架构
+htmlHostManagerServlet.serverOSName=操作系统名称
+htmlHostManagerServlet.serverOSVersion=操作系统版本
+htmlHostManagerServlet.serverTitle=服务器信息
+htmlHostManagerServlet.serverVersion=Tomcat版本
+htmlHostManagerServlet.title=Tomcat虚拟主机管理员
+
+statusServlet.complete=服务器全部状态
+statusServlet.title=服务器状态
diff --git a/java/org/apache/catalina/realm/LocalStrings_zh_CN.properties b/java/org/apache/catalina/realm/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..5d77b77
--- /dev/null
+++ b/java/org/apache/catalina/realm/LocalStrings_zh_CN.properties
@@ -0,0 +1,48 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+combinedRealm.authFail=无法使用域[{1}]对用户[{0}]进行身份验证
+combinedRealm.authSuccess=认证用户[{0}],权限[{1}]
+
+dataSourceRealm.getPassword.exception=获取用户名[{0}]对应的密码失败。
+dataSourceRealm.getRoles.exception=:)检索角色[{0}]异常
+
+jaasCallback.username=返回用户名 [{0}]
+
+jaasRealm.authenticateSuccess=用户名 [{0}] 已被成功认证为身份 [{1}] -- 主体也已创建
+jaasRealm.failedLogin=由于登录失败,用户名 [{0}] 无法授权
+jaasRealm.loginContextCreated=为用户名创建的JAAS 登陆上下文[{0}]
+jaasRealm.loginException=登录异常,认证用户名  [{0}]
+
+jndiRealm.authenticateFailure=用户名[{0}]没有成功认证
+jndiRealm.authenticateSuccess=用户名[{0}]成功认证
+jndiRealm.cipherSuites=启用 [{0}] 作为 TLS 连接的加密套件。
+jndiRealm.exception=执行认证异常
+jndiRealm.open=打开目录服务器链接异常
+
+lockOutRealm.authLockedUser=尝试对锁定的用户[{0}]进行身份验证
+
+memoryRealm.loadExist=内存数据库文件[{0}]无法读取
+memoryRealm.loadPath=从内存数据库文件 [{0}] 加载用户
+memoryRealm.readXml=读取内存数据库文件时出现异常
+
+realmBase.authenticateFailure=用户名 [{0}] 认证失败
+realmBase.createUsernameRetriever.ClassCastException=类[{0}] 不是一个X509UsernameRetriever.
+realmBase.digest=对用户凭证摘要发生错误
+realmBase.forbidden=已拒绝访问所请求的资源
+realmBase.hasRoleFailure=用户[{0}]没有角色[{1}]
+realmBase.hasRoleSuccess=用户名[{0}] 有角色[{1}]
+
+userDatabaseRealm.noDatabase=未找到key[{0}]对应的UserDatabase组件。
diff --git a/java/org/apache/catalina/security/LocalStrings_zh_CN.properties b/java/org/apache/catalina/security/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..53f7274
--- /dev/null
+++ b/java/org/apache/catalina/security/LocalStrings_zh_CN.properties
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+SecurityListener.checkUmaskSkip=无法确定权限。这表示 Tomcat 正在 Windows 上运行,所以跳过权限检查。
diff --git a/java/org/apache/catalina/servlets/LocalStrings_zh_CN.properties b/java/org/apache/catalina/servlets/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..8913ebf
--- /dev/null
+++ b/java/org/apache/catalina/servlets/LocalStrings_zh_CN.properties
@@ -0,0 +1,30 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+cgiServlet.expandFail=在路径[{0}] 到[{1}] 展开脚本失败.
+cgiServlet.expandOk=从路径[{0}]到[{1}]扩展脚本
+cgiServlet.find.location=在 [{0}] 查找文件
+cgiServlet.runHeaderReaderFail=I/O 问题关闭请求头读操作
+cgiServlet.runInvalidStatus=无效状态 [{0}]
+cgiServlet.runOutputStreamFail=关闭输出流时发生I/O问题
+cgiServlet.runReaderInterrupt=对于标准错误的读线程,中断并等待。
+cgiServlet.runStdErrFail=I/O标准错误问题
+
+defaultServlet.blockExternalSubset=用名称[{0}]和baseURI[{1}]阻止对外部子集的访问
+
+directory.filename=文件名
+directory.size=大小
+
+webdavservlet.jaxpfailed=JAXP 初始化失败
diff --git a/java/org/apache/catalina/session/LocalStrings_zh_CN.properties b/java/org/apache/catalina/session/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..c5a0870
--- /dev/null
+++ b/java/org/apache/catalina/session/LocalStrings_zh_CN.properties
@@ -0,0 +1,42 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+JDBCStore.checkConnectionDBReOpenFail=重新打开数据库失败,数据库可能已经宕机。
+JDBCStore.missingDataSourceName=没有给出有效的 JNDI 名称。
+JDBCStore.saving=保存Session [{0}] 到数据库 [{1}]
+
+fileStore.deleteFailed=无法删除阻止创建会话存储位置的文件 [{0}]
+
+managerBase.createSession.ise=createSession:活跃session过多
+
+persistentManager.deserializeError=错误反序列化会话[{0}]: [{1}]
+persistentManager.storeKeysException=不能从 session存储中获取session ID 的列表,假设存储为空
+persistentManager.storeSizeException=无法确定 session 存储区的会话数,假定存储区为空
+persistentManager.swapIn=在表单存储中,交换会话[{0}]
+persistentManager.swapMaxIdle=交换会话[{0}]以存储,空闲为[{1}]秒
+persistentManager.swapTooManyActive=太多活跃会话,替换闲置 [{1}] 秒的会话 [{0}]
+
+standardManager.managerLoad=从持久化存储加载会话发生异常
+standardManager.managerUnload=卸载会话到持久存储的异常
+
+standardSession.getAttributeNames.ise=getAttributeNames:会话已失效
+standardSession.getCreationTime.ise=getCreataionTime:会话已经无效
+standardSession.getLastAccessedTime.ise=getLastAccessedTime: 会话已失效
+standardSession.getValueNames.ise=getValueNames:会话已经失效
+standardSession.logoutfail=当回话将过期登出用户异常
+standardSession.notDeserializable=无法反序列化会话 [{1}] 的属性 [{0}]
+standardSession.notSerializable=不能序列化会话[{1}]的属性[{0}]
+standardSession.removeAttribute.ise=删除属性:会话已失效
+standardSession.sessionEvent=会话时间监听抛出异常
diff --git a/java/org/apache/catalina/startup/LocalStrings_zh_CN.properties b/java/org/apache/catalina/startup/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..b9df89c
--- /dev/null
+++ b/java/org/apache/catalina/startup/LocalStrings_zh_CN.properties
@@ -0,0 +1,70 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+catalina.serverStartFail=所必需的服务组件启动失败,所以无法启动Tomcat
+
+contextConfig.altDDNotFound=未找到 alt-dd 文件 [{0}]
+contextConfig.applicationStart=正在解析应用程序 web.xml 文件 [{0}]
+contextConfig.applicationUrl=无法确定应用程序 web.xml 的URL
+contextConfig.authenticatorConfigured=为方法 [{0}] 配置了验证器
+contextConfig.authenticatorMissing=不能配置一个认证为方法[{0}]
+contextConfig.badUrl=不能处理上下文描述符[{0}]
+contextConfig.cce=生命周期事件数据对象[{0}] 不是一个上下文
+contextConfig.contextMissing=缺少 context.xml:[{0}]
+contextConfig.defaultMissing=未找到全局 web.xml
+contextConfig.defaultPosition=发生在 [{0}] 行 [{1}] 列
+contextConfig.fixDocBase=上下文[{0}]的异常修复docBase
+contextConfig.init=上下文配置: 正在初始化
+contextConfig.inputStreamFile=无法为注解处理文件[{0}]
+contextConfig.jspFile.error=JSP文件[{0}]必须以''/''开头。
+contextConfig.processAnnotationsDir.debug=使用注解 [{0}]扫描目录中的类文件
+contextConfig.processAnnotationsWebDir.debug=扫描 web 应用程序目录下含有 [{0}] 注解的 class 文件
+contextConfig.role.auth=在标签<auth-constraint>的子标签<security-role>中没有定义角色名[{0}]
+contextConfig.role.runas=<run-as> 中使用的安全角色名 [{0}],未在 <security-role> 中定义
+
+engineConfig.cce=生命周期事件数据对象[{0}]不是一个引擎(Engine)
+engineConfig.stop=配置引擎,处理进程停止。
+
+expandWar.copy=错误的拷贝[{0}] to [{1}]
+expandWar.createFailed=无法创建文件夹[{0}]。
+expandWar.deleteFailed=[{0}] 无法被彻底删除。其余残留文件可能会导致问题
+expandWar.missingJarEntry=无法获得 JarEntry [{0}] 的输入流 - WAR 文件是否已损坏?
+
+hostConfig.appBase=主机[{0}]的应用程序基础[{1}]不存在或不是目录。deployOnStartUp和autoDebug已设置为false,以防止部署错误。其他错误仍然可能发生。
+hostConfig.deployDir=把web 应用程序部署到目录 [{0}]
+hostConfig.deployWar.error=部署 Web 应用程序 archive [{0}] 时出错
+hostConfig.docBaseUrlInvalid=所提供的部署目录无法用URL来表示
+hostConfig.expanding=扩展已发现的 web 应用程序 archive
+hostConfig.stop=:)Host配置:停止处理
+
+tomcat.addWebapp.conflictChild=无法在[{0}]处部署到上下文路径[{1}],因为存在上下文[{2}]
+tomcat.addWebapp.conflictFile=由于现有文件[{2}]的存在,无法在[{0}]将战争部署到上下文路径[{1}]
+
+userConfig.database=加载用户数据库异常
+userConfig.deploying=正在部署用户 web 应用程序
+userConfig.error=为用户 [{0}]部署web应用发生错误
+userConfig.start=用户配置:处理开始
+
+versionLoggerListener.catalina.home=CATALINA_HOME:         {0}
+versionLoggerListener.java.home=Java 环境变量:             {0}
+versionLoggerListener.os.arch=架构:          {0}
+versionLoggerListener.os.version=OS.版本:            {0}
+versionLoggerListener.prop=系统属性:       {0} = {1}
+versionLoggerListener.serverInfo.server.built=服务器构建:          {0}
+versionLoggerListener.serverInfo.server.version=Server.服务器版本:        {0}
+versionLoggerListener.vm.vendor=JVM.供应商:            {0}
+versionLoggerListener.vm.version=JVM 版本:           {0}
+
+webAnnotationSet.invalidInjection=方法资源注入注解无效。
diff --git a/java/org/apache/catalina/tribes/transport/LocalStrings_zh_CN.properties b/java/org/apache/catalina/tribes/transport/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..c39be22
--- /dev/null
+++ b/java/org/apache/catalina/tribes/transport/LocalStrings_zh_CN.properties
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+PooledSender.senderDisconnectFail=与 sender 断开连接失败
diff --git a/java/org/apache/catalina/users/LocalStrings_zh_CN.properties b/java/org/apache/catalina/users/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..0afc077
--- /dev/null
+++ b/java/org/apache/catalina/users/LocalStrings_zh_CN.properties
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+memoryUserDatabase.fileNotFound=指定用户数据库[{0}]未找到
+memoryUserDatabase.notPersistable=用户数据库不可持久化 - 对目录没有写入权限
+memoryUserDatabase.nullRole=指定的角色名为Null或着长度为0。角色将被忽略,
+memoryUserDatabase.readOnly=用户数据库已被设为只读。修改无法保存
+memoryUserDatabase.renameNew=无法将新文件重命名为 [{0}]
+memoryUserDatabase.renameOld=原文件无法改名为[{0}]
diff --git a/java/org/apache/catalina/util/LocalStrings_zh_CN.properties b/java/org/apache/catalina/util/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..34a3987
--- /dev/null
+++ b/java/org/apache/catalina/util/LocalStrings_zh_CN.properties
@@ -0,0 +1,29 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+customObjectInputStream.logRequired=使用日志记录进行类名过滤需要一个有效的日志记录器
+customObjectInputStream.nomatch=类不能匹配合适的表达式,因为类被允许反序列化
+
+extensionValidator.extension-not-found-error=ExtensionValidator[{0}][{1}]: 请求的拓展[{2}]未找到。
+extensionValidator.web-application-manifest=web 应用程序清单
+
+introspection.classLoadFailed=加载 class [{0}] 失败
+
+lifecycleBase.initFail=初始化组件[{0}]失败。
+
+netmask.cidrNegative=CIDR [{0}]为负数。
+netmask.invalidAddress=地址 [{0}] 无效
+
+sessionIdGeneratorBase.randomProvider=使用程序提供的初始化随机数生成器异常[{0}]
diff --git a/java/org/apache/catalina/valves/LocalStrings_zh_CN.properties b/java/org/apache/catalina/valves/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..ccbedc6
--- /dev/null
+++ b/java/org/apache/catalina/valves/LocalStrings_zh_CN.properties
@@ -0,0 +1,60 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+accessLogValve.closeFail=关闭访问日志文件失败
+accessLogValve.invalidLocale=无法将区域设置设为 [{0}]
+accessLogValve.invalidPortType=端口类型 [{0}] 无效,使用服务器(本地)端口
+accessLogValve.openFail=无法打开访问日志文件[{0}]。
+accessLogValve.rotateFail=失败的循环切割访问日志.
+
+errorReportValve.description=描述
+errorReportValve.exceptionReport=异常报告
+errorReportValve.message=消息
+errorReportValve.rootCauseInLogs=主要问题的全部 stack 信息可以在 server logs 里查看
+errorReportValve.unknownReason=未知的原因
+
+http.400.reason=错误的请求
+http.401.reason=未经授权的
+http.402.desc=这个状态码时为未来使用预留的.
+http.403.desc=服务器理解该请求但拒绝授权。
+http.403.reason=被禁止
+http.404.reason=未找到
+http.405.desc=请求行中接收的方法由源服务器知道,但目标资源不支持
+http.407.reason=代理需要认证
+http.412.desc=在服务器上测试时,请求头字段中给出的一个或多个条件被评估为false。
+http.412.reason=前置条件失败
+http.413.reason=有效载荷过大
+http.415.desc=源服务器拒绝服务请求,因为有效负载的格式在目标资源上此方法不支持。
+http.415.reason=不支持的媒体类型
+http.416.reason=范围不满足
+http.417.reason=期望的失败
+http.421.desc=请求被定向到一台无法响应的服务器
+http.423.desc=源或目标资源的方法被锁
+http.423.reason=已锁定
+http.426.reason=需要升级
+http.428.desc=原始服务器要求请求是有条件的。
+http.429.reason=请求过多
+http.431.reason=请求头的字段太大
+http.500.desc=服务器遇到一个意外的情况,阻止它完成请求。
+http.502.desc=服务器在充当网关或代理时, 在尝试完成请求时, 从它访问的入站服务器收到无效响应。
+http.503.desc=由于临时过载或计划维护,服务器当前无法处理请求,这可能会在一些延迟后得到缓解。
+http.505.reason=HTTP 版本不支持
+http.507.reason=存储空间.不足
+http.510.reason=没有.扩展
+http.511.desc=客户端需要进行身份验证才能获得网络访问权限。
+
+remoteCidrValve.noRemoteIp=客户端没有IP地址。请求被拒绝。
+
+requestFilterValve.deny=根据[{1}]配置拒绝[{0}]的请求
diff --git a/java/org/apache/coyote/LocalStrings_zh_CN.properties b/java/org/apache/coyote/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..b808cd0
--- /dev/null
+++ b/java/org/apache/coyote/LocalStrings_zh_CN.properties
@@ -0,0 +1,25 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+abstractConnectionHandler.ioexception.debug=正常的 IOException,忽略
+
+abstractProcessor.fallToDebug=注意:进一步出现的请求解析错误将在DEBUG级别进行记录。
+abstractProcessor.hostInvalid=[{0}] 是无效主机
+
+abstractProtocolHandler.destroy=正在摧毁协议处理器 [{0}]
+abstractProtocolHandler.init=初始化协议处理器 [{0}]
+abstractProtocolHandler.start=开始协议处理句柄[{0}]
+
+asyncStateMachine.invalidAsyncState=调用[{0}]对于具有异步状态[{1}]的请求无效
diff --git a/java/org/apache/coyote/ajp/LocalStrings_zh_CN.properties b/java/org/apache/coyote/ajp/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..dbdabe9
--- /dev/null
+++ b/java/org/apache/coyote/ajp/LocalStrings_zh_CN.properties
@@ -0,0 +1,20 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ajpmessage.null=不能赋空值
+ajpmessage.overflow=在缓冲区[{1}]位置添加[{0}]字节时发生溢出错误
+
+ajpprocessor.failedsend=失败的发送AJP消息
+ajpprocessor.header.error=头部信息解析失败
diff --git a/java/org/apache/coyote/http11/LocalStrings_zh_CN.properties b/java/org/apache/coyote/http11/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..ed663d4
--- /dev/null
+++ b/java/org/apache/coyote/http11/LocalStrings_zh_CN.properties
@@ -0,0 +1,26 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+http11processor.header.parse=解析 HTTP 请求 header 错误
+http11processor.request.inconsistentHosts=请求行中指定的主机与主机头不一致。
+http11processor.request.invalidUserInfo=HTTP 请求包含带有无效 userinfo 的绝对 URI
+http11processor.request.prepare=准备请求时出错
+http11processor.request.process=错误的处理请求
+http11processor.response.finish=错误完成相应
+http11processor.socket.info=获取socket信息异常
+
+iib.eof.error=套接字读取到意外的EOF
+iib.invalidheader=HTTP header行 [{0}] 不符合RFC 7230并且已被忽略。
+iib.invalidmethod=在方法名称中发现无效的字符串, HTTP 方法名必须是有效的符号.
diff --git a/java/org/apache/coyote/http11/filters/LocalStrings_zh_CN.properties b/java/org/apache/coyote/http11/filters/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..39528a8
--- /dev/null
+++ b/java/org/apache/coyote/http11/filters/LocalStrings_zh_CN.properties
@@ -0,0 +1,24 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+chunkedInputFilter.eos=读取请求主体时流的意外结束
+chunkedInputFilter.eosTrailer=读取 trailer 头时出现意外的流结束
+chunkedInputFilter.error=没有数据可用由于先前的错误
+chunkedInputFilter.invalidCrlfCRCR=无效的结束的行序列(CRCR)
+chunkedInputFilter.invalidCrlfNoCR=无效的行尾结束符序列(LF前缺少CR)
+chunkedInputFilter.maxExtension=超过最大扩展数
+chunkedInputFilter.maxTrailer=超过最大数
+
+inputFilter.maxSwallow=最大吞咽数据大小超出异常
diff --git a/java/org/apache/coyote/http11/upgrade/LocalStrings_zh_CN.properties b/java/org/apache/coyote/http11/upgrade/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..b855ff6
--- /dev/null
+++ b/java/org/apache/coyote/http11/upgrade/LocalStrings_zh_CN.properties
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+upgrade.sis.isFinished.ise=当 ServletInputStream 不处于非阻塞模式时调用 isFinished() 是非法的(即必须首先调用 setReadListener())
+upgrade.sis.readListener.set=在同一个upgraded连接上调用多次setReadListener()函数是非法的
+upgrade.sos.writeListener.null=对setWriteListener()传递null是非法的
diff --git a/java/org/apache/jasper/resources/LocalStrings_zh_CN.properties b/java/org/apache/jasper/resources/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..8a77c4b
--- /dev/null
+++ b/java/org/apache/jasper/resources/LocalStrings_zh_CN.properties
@@ -0,0 +1,132 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+jasper.error.emptybodycontent.nonempty=根据 TLD,[{0}] 标签必须为空,但不是
+
+jsp.error.action.isnottagfile=[{0}]行为只能用于标签文件
+jsp.error.attempt_to_clear_flushed_buffer=错误:尝试清空已刷新的缓冲区
+jsp.error.attribute.deferredmix=不能在同一属性值中同时使用 ${} 和 #{} EL 表达式
+jsp.error.attribute.noequal=期望的符号是等号
+jsp.error.attribute.noescape=属性值[{0}]引用[{1}],在值内使用时必须被转义。
+jsp.error.attribute.nowhitespace=JSP 规范要求一个属性名字前有空格
+jsp.error.bad.scratch.dir=你指定的 scratchDir:[{0}] 不可用。
+jsp.error.bad_attribute=属性[{0}]无效为tag[{1}] 通过TLD
+jsp.error.beans.noproperty=在[{1}]类型bean中找不到任何有关属性[{0}]的信息
+jsp.error.beans.nullbean=尝试获取一个bean 操作在一个空对象上.
+jsp.error.compiler=没有可用的Java编译器
+jsp.error.corresponding.servlet=生成的servlet错误:\n
+jsp.error.could.not.add.taglibraries=不能增加一个或者多个tag 库.
+jsp.error.data.file.processing=处理文件 [{0}] 错误
+jsp.error.el.template.deferred=#{...} 不允许出现在模板文本中
+jsp.error.fallback.invalidUse=jsp:fallback必须是jsp:plugin的直接子代
+jsp.error.file.cannot.read=无法读取文件 [{0}]
+jsp.error.file.not.found=文.件[{0}] 未找到
+jsp.error.include.exception=无法包含[{0}]
+jsp.error.include.tag=无效的jsp:include标签
+jsp.error.internal.filenotfound=内部错误:找不到文件 [{0}]
+jsp.error.invalid.tagdir=标签文件目录 [{0}] 不以"/WEB-INF/tags"开头
+jsp.error.invalid.version=为标签 [{0}] 定义了无效的 JSP 版本号
+jsp.error.ise_on_clear=当缓存大小等于0时调用clear()函数是非法的
+jsp.error.jspbody.emptybody.only=标签[{}]的标签体内智能包含jsp:attribute
+jsp.error.jspbody.required=如果使用 jsp:attribute,则必须使用 jsp:body 为 [{0}] 指定标记正文。
+jsp.error.jspelement.missing.name=XML强制性约束:属性name缺失。
+jsp.error.jspoutput.doctypenamesystem=&lt;jsp:output&gt;: 'doctype-root-element' 和 'doctype-system' 必须一起出现
+jsp.error.lastModified=无法确定文件 [{0}] 的最后修改日期
+jsp.error.loadclass.taghandler=无法为TAG [{1}]加载标记处理程序类[{0}]
+jsp.error.location=行.: [{0}], 列: [{1}]
+jsp.error.mandatory.attribute=[{0}]: 强制性属性 [{1}] 缺失。
+jsp.error.nested.jspbody=JSP:体标准动作不能嵌套在另一个jsp:body 或者 jsp:属性标准动作中
+jsp.error.nested_jsproot=嵌套的&lt;jsp:root&gt;
+jsp.error.no.scratch.dir=JSP引擎未配置scratch文件夹。\n\
+请在对应上下文Context的servlets.properties文件中添加"jsp.initparams=scratchdir=<dir-name>"。
+jsp.error.no.scriptlets=脚本( &lt;%!, &lt;jsp声明, &lt;%=, &lt;jsp表达式, &lt;%, &lt;jsp脚本变量 )不允许出现在这里
+jsp.error.noFunction=无法使用指定的前缀找到函数[{0}]
+jsp.error.not.in.template=在模板文本体中, [{0}] 是不允许的.
+jsp.error.outputfolder=无输出目录
+jsp.error.overflow=错误:JSP缓冲区溢出
+jsp.error.page.conflict.errorpage=页指令:不同值的多次出现“errorPage”的非法值(旧:[{0}],新:[{1}])
+jsp.error.page.invalid.deferredsyntaxallowedasliteral=页面指令:deferredSyntaxAllowedAsLiteral的值无效
+jsp.error.page.invalid.import=网页指令:无效引用
+jsp.error.page.invalid.iselignored=页面指令:忽略的无效值
+jsp.error.page.invalid.session=页面提示:session值无效
+jsp.error.page.multi.pageencoding=页指令不能有多次出现的页编码
+jsp.error.param.invalidUse=jsp:param 不能在jsp:include、jsp:forward或jsp:params等元素外使用
+jsp.error.paramexpected=使用“name”和“value”属性期望“jsp:param”标准操作
+jsp.error.params.invalidUse=参数jsp:params必须是jsp:plugin的直接孩子参数
+jsp.error.parse.xml=无法解析 XML 文件 [{0}]
+jsp.error.parse.xml.invalidPublicId=无效的 PUBLIC ID: [{0}]
+jsp.error.plugin.nocode=代码未定义在jsp:plugin中
+jsp.error.plugin.notype=jsp:plugin中未声明type
+jsp.error.plugin.wrongRootElement=[{0}] 中的根元素的名称与 [{1}] 的不同
+jsp.error.prolog_pagedir_encoding_mismatch=指定在XML语言[{0}]的网页编码是不同于指定在网页的指令[{1}]。
+jsp.error.quotes.unterminated=未终结的引号
+jsp.error.scripting.variable.missing_name=无法从属性[{0}]确定脚本变量名称
+jsp.error.simpletag.badbodycontent=对于一下简单的标记符,用于类[{0}]的标记描述符指定了一个无效的body内容(JSP)中
+jsp.error.single.line.number=JSP文件:[{1}] 的第 [{0}] 行发生了一个错误
+jsp.error.stream.close.failed=流.关闭失败
+jsp.error.stream.closed=流.关闭
+jsp.error.tag.invalid.trimdirectivewhitespaces=TAG指令:trimDirectiveWhitespaces的值无效
+jsp.error.tagfile.nameFrom.badAttribute=\n\
+\ 属性指令(在行[{1}]中声明并且其name属性为[{0}],此name-from-attribute属性的值)必须是java.lang.String类型,是“required”而不是一个“rtexprvalue”。
+jsp.error.taglibDirective.absUriCannotBeResolved=无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[{0}]
+jsp.error.taglibDirective.missing.location='uri'和'tagdir' 属性均未指定。
+jsp.error.teiclass.instantiation=无法加载或实例化TagExtraInfo类:[{0}]。
+jsp.error.tld.mandatory.element.missing=TLD [{1}] 中强制 TLD 元素 [{0}] 不存在或为空
+jsp.error.unable.deleteClassFile=无法删除class文件
+jsp.error.unable.load=无法加载JSP的相关类
+jsp.error.unable.renameClassFile=无法重命名类文件
+jsp.error.unable.to_find_method=不能为属性:[{0}]找到setter 方法.
+jsp.error.unavailable=JSP已被标记为不可用
+jsp.error.unbalanced.endtag=结束标签&lt;/{0}不对称
+jsp.error.unknown_attribute_type=\n\
+\ 属性[{0}]的未知属性类型[{1}]。
+jsp.error.unsupported.encoding=不支持的编码:[{0}]
+jsp.error.variable.either.name=必须在变量指令中指定 name-given 或 name-from-attribute 属性
+jsp.error.xml.badStandardAction=无效、标准的action: [{0}]
+jsp.exception=在 [{1}] 行处理 [{0}] 时发生异常
+jsp.info.ignoreSetting=因为 SecurityManager 被启用,忽略 [{1}] 的 [{0}] 的设置
+jsp.message.jsp_added=增加JSP 为路径[{0}]为上下文[{1}]的队列
+jsp.message.jsp_queue_update=在上下文[{1}]队列中更新路径为[{0}]的JSP
+jsp.message.jsp_removed_excess=从上下文[{1}]的队列中移除额外在路径[{0}]中JSP,
+jsp.message.jsp_unload_check=在context[{0}]中检查未加载的jsp,jsp总共:[{1}]队列长度[{2}]
+jsp.tldCache.noTldSummary=至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
+jsp.warning.compiler.classfile.delete.fail.unknown=删除生成的class文件失败
+jsp.warning.displaySourceFragment=警告:displaySourceFragment初始化参数时参数值无效,将使用默认的值“true”
+jsp.warning.dumpSmap=警告:初始化堆内存的值无效。将使用“false”的默认值
+jsp.warning.enablePooling=警告:initParam enablePooling的值无效。将使用默认值“true”
+jsp.warning.fork=警告:initParam的值无效。将使用“true”的默认值
+
+jspc.delete.fail=无法删除文件 [{0}]
+jspc.error.fileDoesNotExist=文件参数 [{0}] 不存在
+jspc.webfrg.footer=\n\
+</web-fragment>\n\
+\n
+jspc.webinc.footer=\n\
+<!--\n\
+由Apache Tomcat JSPC自动创建的内容结束。\n\
+-->\n\
+\n
+jspc.webinc.header=\n\
+<!--\n\
+由 Apache Tomcat JspC 自动生成。\n\
+-->\n\
+\n
+jspc.webinc.insertEnd=<!-- JSPC servlet 映射结束 -->
+jspc.webinc.insertStart=<!-- JSPC servlet 映射开始 -->
+jspc.webxml.footer=\n\
+</web-app>\n\
+\n
+
+xmlParser.skipBomFail=解析XML输入流时,跳过BOM失败。
diff --git a/java/org/apache/naming/LocalStrings_zh_CN.properties b/java/org/apache/naming/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..6c651d2
--- /dev/null
+++ b/java/org/apache/naming/LocalStrings_zh_CN.properties
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+contextBindings.unknownContext=未知.上下文名:[{0}]
+
+namingContext.contextExpected=上下文Context未绑定名称name
+namingContext.failResolvingReference=解析引用时意外异常
+
+selectorContext.methodUsingName=用[{1}]的name属性调用方法[{0}]
diff --git a/java/org/apache/naming/factory/LocalStrings_zh_CN.properties b/java/org/apache/naming/factory/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..814ed8d
--- /dev/null
+++ b/java/org/apache/naming/factory/LocalStrings_zh_CN.properties
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+lookupFactory.createFailed=无法创建JNDI查找工厂类实例
+
+resourceLinkFactory.nullType=引用全局资源 [{1}] 的本地资源链接 [{0}] 未指定所需的属性类型
diff --git a/java/org/apache/tomcat/util/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..9e68c80
--- /dev/null
+++ b/java/org/apache/tomcat/util/LocalStrings_zh_CN.properties
@@ -0,0 +1,23 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+diagnostics.threadDumpTitle=打印全部线程
+diagnostics.vmInfoClassCompilation=:)class汇编
+diagnostics.vmInfoClassLoading=类加载中
+diagnostics.vmInfoLogger=日志记录器(Logger)信息
+diagnostics.vmInfoOs=操作系统信息
+diagnostics.vmInfoRuntime=运行时信息
+diagnostics.vmInfoSystem=系统.属性
+diagnostics.vmInfoThreadCounts=线程数
diff --git a/java/org/apache/tomcat/util/buf/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/buf/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..6d0140e
--- /dev/null
+++ b/java/org/apache/tomcat/util/buf/LocalStrings_zh_CN.properties
@@ -0,0 +1,17 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+uDecoder.convertHexDigit.notHex=[{0}] 不是十六进制数字
+uDecoder.urlDecode.conversionError=使用编码[{1}]解码[{0}]失败
diff --git a/java/org/apache/tomcat/util/http/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/http/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..d8a2ac7
--- /dev/null
+++ b/java/org/apache/tomcat/util/http/LocalStrings_zh_CN.properties
@@ -0,0 +1,23 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+cookies.invalidCookieToken=Cookie:cookie无效。值不是令牌或引用值
+cookies.invalidSpecial=Cookies:未知特殊的Cookie
+
+parameters.bytes=开始处理输入[{0}]
+parameters.copyFail=无法创建以调试日志记录为目的的原始参数值的副本
+parameters.decodeFail.debug=字符解码失败.参数 [{0}]和值 [{1}]被忽略
+parameters.fallToDebug=注:将在DEBUG级别记录更多参数错误。
+parameters.maxCountFail.fallToDebug=注意:更多的错误信息只在debug级别日志中记录
diff --git a/java/org/apache/tomcat/util/http/parser/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/http/parser/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..167d866
--- /dev/null
+++ b/java/org/apache/tomcat/util/http/parser/LocalStrings_zh_CN.properties
@@ -0,0 +1,25 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+http.illegalCharacterIpv4=字符[{0}]为非法的IPv4地址。
+http.illegalCharacterIpv6=字符[{0}]为非法的IPv6地址。
+http.invalidHextet=hextet无效。 hextet必须包含4个或更少的十六进制字符。
+http.invalidLeadingZero=非零的IPv4字符可能不包含前导零。
+http.invalidOctet=无效字符[{0}].IPv4字符的有效范围为0~255。
+http.noClosingBracket=ipv6 地址缺失一个闭合的圆括号
+http.singleColonEnd=IPv6地址不能以单个“.”结尾。
+http.singleColonStart=一个IPv6地址也许不是以单个冒号":"开头的。
+http.tooManyColons=IPv6地址不能包含超过2个连续冒号字符。
+http.tooManyDoubleColons=一个IPv6地址只能包含一个 '::' 序列。
diff --git a/java/org/apache/tomcat/util/scan/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/scan/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..337e906
--- /dev/null
+++ b/java/org/apache/tomcat/util/scan/LocalStrings_zh_CN.properties
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+jarScan.classloaderFail=在多级类加载器中扫描[{0}]失败
+jarScan.classloaderJarNoScan=跳过classpath路径[{0}]下的jar包扫描。
+jarScan.classloaderStart=在类加载器层次结构中扫描JAR
+jarScan.jarUrlStart=正在扫描URL [{0}] 上的JAR文件
+jarScan.webinflibJarNoScan=没有扫描到/WEB-INF/lib目录下的JAR [{0}]
+jarScan.webinflibStart=扫描./WEB-INF/lib 中的JARs
diff --git a/java/org/apache/tomcat/websocket/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/websocket/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..2960442
--- /dev/null
+++ b/java/org/apache/tomcat/websocket/LocalStrings_zh_CN.properties
@@ -0,0 +1,56 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+asyncChannelWrapperSecure.eof=意外的流结尾
+
+caseInsensitiveKeyMap.nullKey=不允许 Key 是 Null
+
+perMessageDeflate.deflateFailed=无法压缩这个WebSocket压缩结构
+perMessageDeflate.duplicateParameter=重复定义的扩展参数[{0}]
+
+util.notToken=一个非法的扩展参数被指定为名称[{0}]和值[{0}]
+util.unknownDecoderType=无法识别该解码器类型[{0}]
+
+wsFrame.byteToLongFail=提供了太多字节([{0}]),转换成一个长的字节。
+wsFrame.closed=在一个关闭的控制帧后受到了一个新的帧.
+wsFrame.controlFragmented=接收到分段的控制帧,但控制帧可能不被分割。
+wsFrame.controlNoFin=发送一个没有设置的控制帧。控制帧不允许使用连续帧。
+wsFrame.partialHeaderComplete=接收到WebSocket帧. fin [{0}], rsv [{1}], OpCode [{2}], payload 长度 [{3}]
+wsFrame.sessionClosed=无法处理客户端数据,因为会话已被关闭
+wsFrame.wrongRsv=对于具有opCode [{1}]的消息,客户端帧将保留位设置为[{0}],此端点不支持
+
+wsHandshakeRequest.invalidUri=字符串  [{0}] 不能用来组成一个有效的URI
+
+wsRemoteEndpoint.changeType=发送分段消息时,所有片段必须是相同类型的。
+wsRemoteEndpoint.closed=由于 WebSocket session 已关闭,消息将不会被发送
+wsRemoteEndpoint.closedDuringMessage=因为 WebSocket session 被关闭,消息的剩余部分将不会被送达
+wsRemoteEndpoint.flushOnCloseFailed=会话关闭后仍然启用批处理消息。无法刷新剩余的批量消息
+wsRemoteEndpoint.noEncoder=没有为类 [{0}] 的对象指定编码器
+wsRemoteEndpoint.nullData=无效空的data 参数
+wsRemoteEndpoint.tooMuchData=ping或pong不应该发送超过125字节
+wsRemoteEndpoint.wrongState=远程 endpoint 处于 [{0}] 状态,是被调用方法的无效状态
+
+wsSession.created=创建WebSocket session [{0}]。
+wsSession.doClose=关闭 WebSocket session [{1}]
+wsSession.duplicateHandlerText=已配置文本消息处理器
+wsSession.instanceNew=endpoint 实例注册失败
+
+wsWebSocketContainer.asynchronousSocketChannelFail=无法打开与服务器的连接
+wsWebSocketContainer.missingLocationHeader=处理HTTP响应码 [{0}] 失败。响应头缺少Location
+wsWebSocketContainer.missingWWWAuthenticateHeader=无法处理HTTP响应代码[{0}]。 缺少WWW-Authenticate标头作为响应
+wsWebSocketContainer.pathNoHost=URI中未指定主机
+wsWebSocketContainer.sessionCloseFail=ID 为 [{0}] 的session 没有彻底关闭
+wsWebSocketContainer.shutdown=web应用程序正在停止
+wsWebSocketContainer.sslEngineFail=无法创建SSLEngine以支持SSL/TLS连接
diff --git a/java/org/apache/tomcat/websocket/pojo/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/websocket/pojo/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..370535e
--- /dev/null
+++ b/java/org/apache/tomcat/websocket/pojo/LocalStrings_zh_CN.properties
@@ -0,0 +1,25 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+pojoEndpointServer.getPojoInstanceFail=创建类型为 [{0}] 的 POJO 实例失败
+
+pojoMessageHandlerWhole.decodeIoFail=解码消息时出现IO错误
+
+pojoMethodMapping.duplicateAnnotation=类[{1}]上存在的重复注释[{0}]
+pojoMethodMapping.duplicateLastParam=用OnMessage注释的类[{1}]的方法[{0}]上存在多个布尔参数(最后的)
+pojoMethodMapping.invalidDecoder=这个特定类型的解码器[{0}]无法被实例化
+pojoMethodMapping.noDecoder=在用onMessage注释的类[{1}]的方法[{0}]上找不到消息参数的解码器。
+
+pojoPathParam.wrongType=不允许将类型[{0}]作为路径参数。用@PathParam注释的参数只能是字符串、Java原语或盒装版本。
diff --git a/java/org/apache/tomcat/websocket/server/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/websocket/server/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..7f65c7e
--- /dev/null
+++ b/java/org/apache/tomcat/websocket/server/LocalStrings_zh_CN.properties
@@ -0,0 +1,25 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+serverContainer.failedDeployment=由于以前的部署失败,不允许将WebSocket终结点部署到主机[{1}]中路径为[{0}]的Web应用程序
+serverContainer.pojoDeploy=POJO 类 [{0}] 在 ServletContext [{2}] 中部署到路径 [{1}]
+serverContainer.servletContextMissing=没有指定ServletContext
+
+upgradeUtil.incompatibleRsv=指定扩展名具有不兼容的RSV位使用
+
+uriTemplate.invalidPath=路径 [{0}] 无效。
+
+wsFrameServer.bytesRead=将[{0}]个字节读入输入缓冲区,准备进行处理
+wsFrameServer.onDataAvailable=进入方法
diff --git a/res/maven/mvn-pub.xml b/res/maven/mvn-pub.xml
index 42b6a30..52a9eee 100644
--- a/res/maven/mvn-pub.xml
+++ b/res/maven/mvn-pub.xml
@@ -320,6 +320,7 @@
     <doMavenDeployNoSrc artifactId="tomcat-i18n-ja"/>
     <doMavenDeployNoSrc artifactId="tomcat-i18n-ko"/>
     <doMavenDeployNoSrc artifactId="tomcat-i18n-ru"/>
+    <doMavenDeployNoSrc artifactId="tomcat-i18n-zh-CN"/>
 
     <!-- Extras jars -->
     <doMavenDeploy artifactId="tomcat-extras-juli"
diff --git a/res/maven/tomcat-i18n-zh-CN.pom b/res/maven/tomcat-i18n-zh-CN.pom
new file mode 100644
index 0000000..de53ab5
--- /dev/null
+++ b/res/maven/tomcat-i18n-zh-CN.pom
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+  http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.tomcat</groupId>
+  <artifactId>tomcat-i18n-zh-CN</artifactId>
+  <version>@MAVEN.DEPLOY.VERSION@</version>
+  <description>Simplified Chinese translations</description>
+  <url>https://tomcat.apache.org/</url>
+  <licenses>
+    <license>
+      <name>Apache License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+</project>
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index d707dfa..ec80f54 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -184,6 +184,10 @@
       <add>
         Add Korean translations to the standard Tomcat distribution. (markt)
       </add>
+      <add>
+        Add simplified Chinese translations to the standard Tomcat distribution.
+        (markt)
+      </add>
     </changelog>
   </subsection>
 </section>
diff --git a/webapps/examples/WEB-INF/classes/LocalStrings_zh_CN.properties b/webapps/examples/WEB-INF/classes/LocalStrings_zh_CN.properties
new file mode 100644
index 0000000..694b3fd
--- /dev/null
+++ b/webapps/examples/WEB-INF/classes/LocalStrings_zh_CN.properties
@@ -0,0 +1,38 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+cookies.make-cookie=创建一个发送到你的浏览器的cookie
+cookies.name=名.称:
+cookies.no-cookies=你的浏览器未发送任何cookie
+cookies.set=你刚刚将以下cookie发送到你的浏览器:
+
+helloworld.title=你好,世界.
+
+requestheader.title=请求 Header 示例
+
+requestinfo.label.method=方法:
+requestinfo.label.protocol=协议:
+requestinfo.label.remoteaddr=远程地址:
+requestinfo.title=请求信息范例
+
+requestparams.firstname=姓:
+requestparams.no-params=没有参数,请输入一些
+requestparams.params-in-req=参数在请求中.
+requestparams.title=请求参数示例
+
+sessions.adddata=将数据添加到你的会话中
+sessions.id=会话ID:
+sessions.lastaccessed=最后访问:
+sessions.title=会话.示例


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org