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 11:19:07 UTC
[tomcat] branch 8.5.x updated (f11b95c -> bf05105)
This is an automated email from the ASF dual-hosted git repository.
markt pushed a change to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git.
from f11b95c 8.5.44 vote cancelled
new 1148ee7 Increment version number for next development cycle
new 2bffa95 Copy and modify import code from 9.0.x to import i18n back-ports
new bf05105 Back-port improvements and corrections to English messages
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
build.properties.default | 2 +-
.../apache/catalina/core/LocalStrings.properties | 2 +-
.../catalina/ha/deploy/LocalStrings.properties | 2 +-
.../catalina/ha/session/LocalStrings.properties | 38 +++---
.../apache/catalina/ha/tcp/LocalStrings.properties | 4 +-
.../catalina/manager/LocalStrings.properties | 10 +-
.../apache/catalina/mapper/LocalStrings.properties | 2 +-
.../catalina/session/LocalStrings.properties | 2 +-
.../catalina/startup/LocalStrings.properties | 16 +--
.../catalina/tribes/group/LocalStrings.properties | 2 +-
.../group/interceptors/LocalStrings.properties | 4 +-
.../catalina/tribes/io/LocalStrings.properties | 2 +-
.../tribes/membership/LocalStrings.properties | 6 +-
.../catalina/tribes/tipis/LocalStrings.properties | 4 +-
.../tribes/transport/bio/LocalStrings.properties | 4 +-
.../tribes/transport/nio/LocalStrings.properties | 4 +-
.../apache/catalina/util/LocalStrings.properties | 4 +-
.../apache/catalina/valves/LocalStrings.properties | 2 +-
.../apache/coyote/http11/LocalStrings.properties | 2 +-
.../apache/coyote/http2/LocalStrings.properties | 8 +-
.../tomcat/buildutil/translate/Constants.java | 16 +--
.../apache/tomcat/buildutil/translate/Import.java | 133 +++++++++++++++++++
.../apache/tomcat/buildutil/translate/Utils.java | 145 +++++++++++++++++++++
.../util/descriptor/web/LocalStrings.properties | 4 +-
.../tomcat/util/http/LocalStrings.properties | 2 +-
.../util/http/parser/LocalStrings.properties | 5 +-
.../apache/tomcat/util/net/LocalStrings.properties | 4 +-
.../tomcat/util/net/jsse/LocalStrings.properties | 2 +-
.../tomcat/util/scan/LocalStrings.properties | 4 +-
res/maven/mvn.properties.default | 2 +-
webapps/docs/changelog.xml | 12 +-
31 files changed, 368 insertions(+), 81 deletions(-)
copy webapps/examples/WEB-INF/classes/checkbox/CheckTest.java => java/org/apache/tomcat/buildutil/translate/Constants.java (66%)
create mode 100644 java/org/apache/tomcat/buildutil/translate/Import.java
create mode 100644 java/org/apache/tomcat/buildutil/translate/Utils.java
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
[tomcat] 02/03: Copy and modify import code from 9.0.x to import
i18n back-ports
Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 2bffa95a4c5f016f173241a565b7cadefbc85ca5
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu Aug 15 11:43:29 2019 +0100
Copy and modify import code from 9.0.x to import i18n back-ports
---
.../tomcat/buildutil/translate/Constants.java | 29 +++++
.../apache/tomcat/buildutil/translate/Import.java | 133 +++++++++++++++++++
.../apache/tomcat/buildutil/translate/Utils.java | 145 +++++++++++++++++++++
3 files changed, 307 insertions(+)
diff --git a/java/org/apache/tomcat/buildutil/translate/Constants.java b/java/org/apache/tomcat/buildutil/translate/Constants.java
new file mode 100644
index 0000000..403daa6
--- /dev/null
+++ b/java/org/apache/tomcat/buildutil/translate/Constants.java
@@ -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.
+*/
+package org.apache.tomcat.buildutil.translate;
+
+public class Constants {
+
+ public static final String L10N_PREFIX = "LocalStrings";
+ public static final String L10N_SUFFIX = ".properties";
+
+ public static final String[] SEARCH_DIRS = new String[] { "java", "webapps" };
+
+ public static final String STORAGE_DIR = ".settings/translations";
+
+ public static final String END_PACKAGE_MARKER = ".zzz.";
+}
diff --git a/java/org/apache/tomcat/buildutil/translate/Import.java b/java/org/apache/tomcat/buildutil/translate/Import.java
new file mode 100644
index 0000000..f309217
--- /dev/null
+++ b/java/org/apache/tomcat/buildutil/translate/Import.java
@@ -0,0 +1,133 @@
+/*
+* 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.
+*/
+package org.apache.tomcat.buildutil.translate;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+import java.nio.charset.StandardCharsets;
+import java.util.Arrays;
+import java.util.Properties;
+
+public class Import {
+
+ public static void main(String... args) throws IOException {
+ File root = new File(Constants.STORAGE_DIR);
+
+ for (File f : root.listFiles()) {
+ // Not robust but good enough
+ if (f.isFile() && f.getName().startsWith(Constants.L10N_PREFIX)) {
+ processFile(f);
+ }
+ }
+ }
+
+
+ @SuppressWarnings("null")
+ private static void processFile(File f) throws IOException {
+ String language = Utils.getLanguage(f.getName());
+
+ // Unlike the master branch, don't skip the original so we can import
+ // updates to the English translations
+ Properties props = Utils.load(f);
+ Object[] objKeys = props.keySet().toArray();
+ Arrays.sort(objKeys);
+
+ String currentPkg = null;
+ Writer w = null;
+ String currentGroup = "zzz";
+
+ for (Object objKey : objKeys) {
+ String key = (String) objKey;
+ CompositeKey cKey = new CompositeKey(key);
+
+ if (!cKey.pkg.equals(currentPkg)) {
+ currentPkg = cKey.pkg;
+ if (w != null) {
+ w.close();
+ }
+ File outFile = new File(currentPkg.replace('.', File.separatorChar), Constants.L10N_PREFIX + language + Constants.L10N_SUFFIX);
+ FileOutputStream fos = new FileOutputStream(outFile);
+ w = new OutputStreamWriter(fos, StandardCharsets.UTF_8);
+ insertLicense(w);
+ }
+
+ if (!currentGroup.equals(cKey.group)) {
+ currentGroup = cKey.group;
+ w.write(System.lineSeparator());
+ }
+
+ w.write(cKey.key + "=" + Utils.formatValue(props.getProperty(key)));
+ w.write(System.lineSeparator());
+ }
+ if (w != null) {
+ w.close();
+ }
+ }
+
+
+ private static void insertLicense(Writer w) throws IOException {
+ w.write("# Licensed to the Apache Software Foundation (ASF) under one or more");
+ w.write(System.lineSeparator());
+ w.write("# contributor license agreements. See the NOTICE file distributed with");
+ w.write(System.lineSeparator());
+ w.write("# this work for additional information regarding copyright ownership.");
+ w.write(System.lineSeparator());
+ w.write("# The ASF licenses this file to You under the Apache License, Version 2.0");
+ w.write(System.lineSeparator());
+ w.write("# (the \"License\"); you may not use this file except in compliance with");
+ w.write(System.lineSeparator());
+ w.write("# the License. You may obtain a copy of the License at");
+ w.write(System.lineSeparator());
+ w.write("#");
+ w.write(System.lineSeparator());
+ w.write("# http://www.apache.org/licenses/LICENSE-2.0");
+ w.write(System.lineSeparator());
+ w.write("#");
+ w.write(System.lineSeparator());
+ w.write("# Unless required by applicable law or agreed to in writing, software");
+ w.write(System.lineSeparator());
+ w.write("# distributed under the License is distributed on an \"AS IS\" BASIS,");
+ w.write(System.lineSeparator());
+ w.write("# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.");
+ w.write(System.lineSeparator());
+ w.write("# See the License for the specific language governing permissions and");
+ w.write(System.lineSeparator());
+ w.write("# limitations under the License.");
+ w.write(System.lineSeparator());
+ }
+ private static class CompositeKey {
+
+ public final String pkg;
+ public final String key;
+ public final String group;
+
+ public CompositeKey(String in) {
+ int posPkg = in.indexOf(Constants.END_PACKAGE_MARKER);
+ pkg = in.substring(0, posPkg);
+ key = in.substring(posPkg + Constants.END_PACKAGE_MARKER.length());
+ int posGroup = key.indexOf('.');
+ if (posGroup == -1) {
+ group = "";
+ } else {
+ group = key.substring(0, posGroup);
+ }
+ }
+ }
+}
diff --git a/java/org/apache/tomcat/buildutil/translate/Utils.java b/java/org/apache/tomcat/buildutil/translate/Utils.java
new file mode 100644
index 0000000..8b69c79
--- /dev/null
+++ b/java/org/apache/tomcat/buildutil/translate/Utils.java
@@ -0,0 +1,145 @@
+/*
+* 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.
+*/
+package org.apache.tomcat.buildutil.translate;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.Reader;
+import java.io.Writer;
+import java.nio.charset.StandardCharsets;
+import java.util.Arrays;
+import java.util.Map;
+import java.util.Properties;
+import java.util.regex.Pattern;
+
+public class Utils {
+
+ private static final Pattern ADD_CONTINUATION = Pattern.compile("\\n", Pattern.MULTILINE);
+ private static final Pattern ESCAPE_LEADING_SPACE = Pattern.compile("^(\\s)", Pattern.MULTILINE);
+ private static final Pattern FIX_SINGLE_QUOTE = Pattern.compile("(?<!')'(?!')", Pattern.MULTILINE);
+
+ private Utils() {
+ // Utility class. Hide default constructor.
+ }
+
+
+ static String getLanguage(String name) {
+ return name.substring(Constants.L10N_PREFIX.length(), name.length() - Constants.L10N_SUFFIX.length());
+ }
+
+
+ static Properties load(File f) {
+ Properties props = new Properties();
+
+ try (FileInputStream fis = new FileInputStream(f);
+ Reader r = new InputStreamReader(fis, StandardCharsets.UTF_8)) {
+ props.load(r);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return props;
+ }
+
+
+ static String formatValue(String in) {
+ String result = ADD_CONTINUATION.matcher(in).replaceAll("\\\\n\\\\\n");
+ if (result.endsWith("\\\n")) {
+ result = result.substring(0, result.length() - 2);
+ }
+ result = ESCAPE_LEADING_SPACE.matcher(result).replaceAll("\\\\$1");
+
+ if (result.contains("\n\\\t")) {
+ result = result.replace("\n\\\t", "\n\\t");
+ }
+
+ if (result.contains("[{0}]")) {
+ result = FIX_SINGLE_QUOTE.matcher(result).replaceAll("''");
+ }
+ return result;
+ }
+
+
+ static void processDirectory(File root, File dir, Map<String,Properties> translations) throws IOException {
+ for (File f : dir.listFiles()) {
+ if (f.isDirectory()) {
+ processDirectory(root, f, translations);
+ } else if (f.isFile()) {
+ processFile(root, f, translations);
+ }
+ }
+ }
+
+
+ static void processFile(File root, File f, Map<String,Properties> translations) throws IOException {
+ String name = f.getName();
+
+ // non-l10n files
+ if (!name.startsWith(Constants.L10N_PREFIX)) {
+ return;
+ }
+
+ // Determine language
+ String language = Utils.getLanguage(name);
+
+ String keyPrefix = getKeyPrefix(root, f);
+ Properties props = Utils.load(f);
+
+ // Create a Map for the language if one does not exist.
+ Properties translation = translations.get(language);
+ if (translation == null) {
+ translation = new Properties();
+ translations.put(language, translation);
+ }
+
+ // Add the properties from this file to the combined file, prefixing the
+ // key with the package name to ensure uniqueness.
+ for (Object obj : props.keySet()) {
+ String key = (String) obj;
+ String value = props.getProperty(key);
+
+ translation.put(keyPrefix + key, value);
+ }
+ }
+
+
+ static String getKeyPrefix(File root, File f) throws IOException {
+ String prefix = f.getParentFile().getCanonicalPath();
+ prefix = prefix.substring(root.getCanonicalPath().length() + 1);
+ prefix = prefix.replace(File.separatorChar, '.');
+ prefix = prefix + Constants.END_PACKAGE_MARKER;
+ return prefix;
+ }
+
+
+ static void export(String language, Properties translation, File storageDir) {
+ File out = new File(storageDir, Constants.L10N_PREFIX + language + Constants.L10N_SUFFIX);
+ try (FileOutputStream fos = new FileOutputStream(out);
+ Writer w = new OutputStreamWriter(fos, StandardCharsets.UTF_8)) {
+ String[] keys = translation.keySet().toArray(new String[0]);
+ Arrays.sort(keys);
+ for (Object key : keys) {
+ w.write(key + "=" + Utils.formatValue(translation.getProperty((String) key)) + "\n");
+ }
+ } catch (IOException ioe) {
+ ioe.printStackTrace();
+ }
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
[tomcat] 01/03: Increment version number for next development cycle
Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 1148ee7366cf7092636ca5963e59218ea7734a8c
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Aug 14 23:39:19 2019 +0100
Increment version number for next development cycle
---
build.properties.default | 2 +-
res/maven/mvn.properties.default | 2 +-
webapps/docs/changelog.xml | 4 +++-
3 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/build.properties.default b/build.properties.default
index e067b36..563b0db 100644
--- a/build.properties.default
+++ b/build.properties.default
@@ -25,7 +25,7 @@
# ----- Version Control Flags -----
version.major=8
version.minor=5
-version.build=45
+version.build=46
version.patch=0
version.suffix=-dev
diff --git a/res/maven/mvn.properties.default b/res/maven/mvn.properties.default
index 66a9337..ece9033 100644
--- a/res/maven/mvn.properties.default
+++ b/res/maven/mvn.properties.default
@@ -39,7 +39,7 @@ maven.asf.release.repo.url=https://repository.apache.org/service/local/staging/d
maven.asf.release.repo.repositoryId=apache.releases.https
# Release version info
-maven.asf.release.deploy.version=8.5.45
+maven.asf.release.deploy.version=8.5.46
#Where do we load the libraries from
tomcat.lib.path=../../output/build/lib
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 2d0cb26..47f9854 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -44,7 +44,9 @@
They eventually become mixed with the numbered issues (i.e., numbered
issues do not "pop up" wrt. others).
-->
-<section name="Tomcat 8.5.45 (markt)" rtext="in development">
+<section name="Tomcat 8.5.46 (markt)" rtext="in development">
+</section>
+<section name="Tomcat 8.5.45 (markt)" rtext="release in progress">
<subsection name="Coyote">
<changelog>
<scode>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
[tomcat] 03/03: Back-port improvements and corrections to English
messages
Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit bf051059e5672d9bfe9d914f22bcb6e025c09ff7
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu Aug 15 12:18:12 2019 +0100
Back-port improvements and corrections to English messages
---
.../apache/catalina/core/LocalStrings.properties | 2 +-
.../catalina/ha/deploy/LocalStrings.properties | 2 +-
.../catalina/ha/session/LocalStrings.properties | 38 +++++++++++-----------
.../apache/catalina/ha/tcp/LocalStrings.properties | 4 +--
.../catalina/manager/LocalStrings.properties | 10 +++---
.../apache/catalina/mapper/LocalStrings.properties | 2 +-
.../catalina/session/LocalStrings.properties | 2 +-
.../catalina/startup/LocalStrings.properties | 16 ++++-----
.../catalina/tribes/group/LocalStrings.properties | 2 +-
.../group/interceptors/LocalStrings.properties | 4 +--
.../catalina/tribes/io/LocalStrings.properties | 2 +-
.../tribes/membership/LocalStrings.properties | 6 ++--
.../catalina/tribes/tipis/LocalStrings.properties | 4 +--
.../tribes/transport/bio/LocalStrings.properties | 4 +--
.../tribes/transport/nio/LocalStrings.properties | 4 +--
.../apache/catalina/util/LocalStrings.properties | 4 +--
.../apache/catalina/valves/LocalStrings.properties | 2 +-
.../apache/coyote/http11/LocalStrings.properties | 2 +-
.../apache/coyote/http2/LocalStrings.properties | 8 ++---
.../util/descriptor/web/LocalStrings.properties | 4 +--
.../tomcat/util/http/LocalStrings.properties | 2 +-
.../util/http/parser/LocalStrings.properties | 5 +--
.../apache/tomcat/util/net/LocalStrings.properties | 4 +--
.../tomcat/util/net/jsse/LocalStrings.properties | 2 +-
.../tomcat/util/scan/LocalStrings.properties | 4 +--
webapps/docs/changelog.xml | 8 +++++
26 files changed, 78 insertions(+), 69 deletions(-)
diff --git a/java/org/apache/catalina/core/LocalStrings.properties b/java/org/apache/catalina/core/LocalStrings.properties
index 197cb49..8f943c5 100644
--- a/java/org/apache/catalina/core/LocalStrings.properties
+++ b/java/org/apache/catalina/core/LocalStrings.properties
@@ -186,7 +186,7 @@ standardContext.parameter.required=Both parameter name and parameter value are r
standardContext.pathInvalid=A context path must either be an empty string or start with a ''/'' and do not end with a ''/''. The path [{0}] does not meet these criteria and has been changed to [{1}]
standardContext.postconstruct.duplicate=Duplicate post construct method definition for class [{0}]
standardContext.postconstruct.required=Both fully qualified class name and method name are required
-standardContext.predestroy.duplicate=Duplicate pre destroy method definition for class [{0}]
+standardContext.predestroy.duplicate=Duplicate @PreDestroy method definition for class [{0}]
standardContext.predestroy.required=Both fully qualified class name and method name are required
standardContext.reloadingCompleted=Reloading Context with name [{0}] is completed
standardContext.reloadingStarted=Reloading Context with name [{0}] has started
diff --git a/java/org/apache/catalina/ha/deploy/LocalStrings.properties b/java/org/apache/catalina/ha/deploy/LocalStrings.properties
index b8b68e7..400593e 100644
--- a/java/org/apache/catalina/ha/deploy/LocalStrings.properties
+++ b/java/org/apache/catalina/ha/deploy/LocalStrings.properties
@@ -19,7 +19,7 @@ farmWarDeployer.deployEnd=Deployment from [{0}] finished.
farmWarDeployer.fileCopyFail=Unable to copy from [{0}] to [{1}]
farmWarDeployer.hostOnly=FarmWarDeployer can only work as host cluster subelement!
farmWarDeployer.hostParentEngine=FarmWarDeployer can only work if parent of [{0}] is an engine!
-farmWarDeployer.mbeanNameFail=Can''t construct MBean object name for engine [{0}] and host [{1}]
+farmWarDeployer.mbeanNameFail=Cannot construct MBean object name for engine [{0}] and host [{1}]
farmWarDeployer.modInstall=Installing webapp [{0}] from [{1}]
farmWarDeployer.modInstallFail=Unable to install WAR file
farmWarDeployer.modRemoveFail=No removal
diff --git a/java/org/apache/catalina/ha/session/LocalStrings.properties b/java/org/apache/catalina/ha/session/LocalStrings.properties
index eb58879..406a2cc 100644
--- a/java/org/apache/catalina/ha/session/LocalStrings.properties
+++ b/java/org/apache/catalina/ha/session/LocalStrings.properties
@@ -20,14 +20,14 @@ backupManager.stopped=Manager [{0}] is stopping
clusterSessionListener.noManager=Context manager doesn''t exist:[{0}]
-deltaManager.createMessage.access=Manager [{0}]: create session message [{1}] access.
-deltaManager.createMessage.accessChangePrimary=Manager [{0}]: create session message [{1}] access to change primary.
-deltaManager.createMessage.allSessionData=Manager [{0}] send all session data.
-deltaManager.createMessage.allSessionTransfered=Manager [{0}] send all session data transfered
-deltaManager.createMessage.delta=Manager [{0}]: create session message [{1}] delta request.
-deltaManager.createMessage.expire=Manager [{0}]: create session message [{1}] expire.
+deltaManager.createMessage.access=Manager [{0}]: create session access message for session [{1}]
+deltaManager.createMessage.accessChangePrimary=Manager [{0}]: create change primary node message for session [{1}]
+deltaManager.createMessage.allSessionData=Manager [{0}] sent all session data.
+deltaManager.createMessage.allSessionTransfered=Manager [{0}] sent all session data transferred
+deltaManager.createMessage.delta=Manager [{0}]: create delta request message for session [{1}]
+deltaManager.createMessage.expire=Manager [{0}]: create session expire message for session [{1}]
deltaManager.createMessage.unableCreateDeltaRequest=Unable to serialize delta request for sessionid [{0}]
-deltaManager.createSession.newSession=Created a DeltaSession with Id [{0}] Total count=[{1}]
+deltaManager.createSession.newSession=Created a new DeltaSession with Id [{0}] Total count=[{1}]
deltaManager.dropMessage=Manager [{0}]: Drop message [{1}] inside GET_ALL_SESSIONS sync phase start date [{2}] message date [{3}]
deltaManager.expireSessions=Manager [{0}] expiring sessions upon shutdown
deltaManager.foundMasterMember=Found for context [{0}] the replication master member [{1}]
@@ -36,26 +36,26 @@ deltaManager.loading.existing.session=overload existing session [{0}]
deltaManager.loading.ioe=IOException while loading persisted sessions: [{0}]
deltaManager.managerLoad=Exception loading sessions from persistent storage
deltaManager.noCluster=Starting... no cluster associated with this context: [{0}]
-deltaManager.noContextManager=Manager [{0}]: No context manager send at [{1}] received in [{2}] ms.
+deltaManager.noContextManager=Manager [{0}]: In reply to the ''Get all session data'' message sent at [{1}], a ''No matching context manager'' message was received after [{2}] ms.
deltaManager.noMasterMember=Starting... with no other member for context [{0}] at domain [{1}]
deltaManager.noMembers=Manager [{0}]: skipping state transfer. No members active in cluster group.
-deltaManager.noSessionState=Manager [{0}]: No session state send at [{1}] received, timing out after [{2}] ms.
-deltaManager.receiveMessage.accessed=Manager [{0}]: received session [{1}] accessed.
-deltaManager.receiveMessage.allSessionDataAfter=Manager [{0}]: session state deserialized
-deltaManager.receiveMessage.allSessionDataBegin=Manager [{0}]: received session state data
-deltaManager.receiveMessage.createNewSession=Manager [{0}]: received session [{1}] created.
-deltaManager.receiveMessage.delta=Manager [{0}]: received session [{1}] delta.
-deltaManager.receiveMessage.delta.unknown=Manager [{0}]: received unknown session [{1}] delta.
+deltaManager.noSessionState=Manager [{0}]: No session state sent at [{1}] received, timing out after [{2}] ms.
+deltaManager.receiveMessage.accessed=Manager [{0}]: received session accessed message for session [{1}]
+deltaManager.receiveMessage.allSessionDataAfter=Manager [{0}]: all session state deserialized
+deltaManager.receiveMessage.allSessionDataBegin=Manager [{0}]: received all session state data
+deltaManager.receiveMessage.createNewSession=Manager [{0}]: received session created message for session [{1}]
+deltaManager.receiveMessage.delta=Manager [{0}]: received session delta message for session [{1}]
+deltaManager.receiveMessage.delta.unknown=Manager [{0}]: received session delta for unknown session [{1}]
deltaManager.receiveMessage.error=Manager [{0}]: Unable to receive message through TCP channel
deltaManager.receiveMessage.eventType=Manager [{0}]: Received SessionMessage of type=[{1}] from [{2}]
-deltaManager.receiveMessage.expired=Manager [{0}]: received session [{1}] expired.
+deltaManager.receiveMessage.expired=Manager [{0}]: received session expired message for session [{1}]
deltaManager.receiveMessage.noContextManager=Manager [{0}] received from node [{1}:{2}] no context manager.
deltaManager.receiveMessage.transfercomplete=Manager [{0}] received from node [{1}:{2}] session state transfered.
deltaManager.receiveMessage.unloadingAfter=Manager [{0}]: unloading sessions complete
deltaManager.receiveMessage.unloadingBegin=Manager [{0}]: start unloading sessions
deltaManager.registerCluster=Register manager [{0}] to cluster element [{1}] with name [{2}]
deltaManager.sendMessage.newSession=Manager [{0}] send new session [{1}]
-deltaManager.sessionReceived=Manager [{0}]; session state send at [{1}] received in [{2}] ms.
+deltaManager.sessionReceived=Manager [{0}]; session state sent at [{1}] received in [{2}] ms.
deltaManager.startClustering=Starting clustering manager at [{0}]
deltaManager.stopped=Manager [{0}] is stopping
deltaManager.unableSerializeSessionID=Unable to serialize sessionID [{0}]
@@ -69,11 +69,11 @@ deltaRequest.ssid.mismatch=Session id mismatch, not executing the delta request
deltaRequest.ssid.null=Session Id is null for setSessionId
deltaRequest.wrongPrincipalClass=ClusterManager only support GenericPrincipal. Your realm used principal class [{0}].
-deltaSession.notifying=Notifying cluster of expiration primary=[{0}] sessionId [{1}]
+deltaSession.notifying=Notifying cluster of session expiration: primary=[{0}], sessionId [{1}]
deltaSession.readSession=readObject() loading session [{0}]
deltaSession.writeSession=writeObject() storing session [{0}]
-jvmRoute.cannotFindSession=Can''t find session [{0}]
+jvmRoute.cannotFindSession=Cannot find session [{0}]
jvmRoute.changeSession=Changed session from [{0}] to [{1}]
jvmRoute.failover=Detected a failover with different jvmRoute - orginal route: [{0}] new one: [{1}] at session id [{2}]
jvmRoute.foundManager=Found Cluster Manager [{0}] at [{1}]
diff --git a/java/org/apache/catalina/ha/tcp/LocalStrings.properties b/java/org/apache/catalina/ha/tcp/LocalStrings.properties
index c380e26..2214450 100644
--- a/java/org/apache/catalina/ha/tcp/LocalStrings.properties
+++ b/java/org/apache/catalina/ha/tcp/LocalStrings.properties
@@ -25,9 +25,9 @@ ReplicationValve.resetDeltaRequest=Cluster is standalone: reset Session Request
ReplicationValve.send.failure=Unable to perform replication request.
ReplicationValve.send.invalid.failure=Unable to send session [id={0}] invalid message over cluster.
ReplicationValve.session.found=Context [{0}]: Found session [{1}] but it isn''t a ClusterSession.
-ReplicationValve.session.indicator=Context [{0}]: Primarity of session [{0}] in request attribute [{1}] is [{2}].
+ReplicationValve.session.indicator=Context [{0}]: Primarity of session [{1}] in request attribute [{2}] is [{3}].
ReplicationValve.session.invalid=Context [{0}]: Requested session [{1}] is invalid, removed or not replicated at this node.
-ReplicationValve.stats=Average request time= [{0}] ms for Cluster overhead time=[{1}] ms for [{2}] requests [{3}] filter requests [{4}] send requests [{5}] cross context requests (Request=[{6}] ms Cluster=[{7}] ms).
+ReplicationValve.stats=Average request time=[{0}] ms with cluster overhead time=[{1}] ms for [{2}] requests, [{3}] send requests, [{4}] cross context requests, and [{5}] filter requests (Total request=[{6}] ms, total cluster request=[{7}] ms).
simpleTcpCluster.clustermanager.cloneFailed=Unable to clone cluster manager, defaulting to org.apache.catalina.ha.session.DeltaManager
simpleTcpCluster.clustermanager.notImplement=Manager [{0}] does not implement ClusterManager, addition to cluster has been aborted.
diff --git a/java/org/apache/catalina/manager/LocalStrings.properties b/java/org/apache/catalina/manager/LocalStrings.properties
index 6588bea..e41c483 100644
--- a/java/org/apache/catalina/manager/LocalStrings.properties
+++ b/java/org/apache/catalina/manager/LocalStrings.properties
@@ -38,18 +38,18 @@ htmlManagerServlet.connectorStateMaxProcessingTime=Max processing time:
htmlManagerServlet.connectorStateMaxThreads=Max threads:
htmlManagerServlet.connectorStateProcessingTime=Processing time:
htmlManagerServlet.connectorStateRequestCount=Request count:
-htmlManagerServlet.connectorStateTableTitleBRecv=B Recv
-htmlManagerServlet.connectorStateTableTitleBSent=B Sent
+htmlManagerServlet.connectorStateTableTitleBRecv=Bytes Recv
+htmlManagerServlet.connectorStateTableTitleBSent=Bytes Sent
htmlManagerServlet.connectorStateTableTitleClientAct=Client (Actual)
htmlManagerServlet.connectorStateTableTitleClientForw=Client (Forwarded)
htmlManagerServlet.connectorStateTableTitleRequest=Request
htmlManagerServlet.connectorStateTableTitleStage=Stage
htmlManagerServlet.connectorStateTableTitleTime=Time
htmlManagerServlet.connectorStateTableTitleVHost=VHost
-htmlManagerServlet.connectorStateThreadBusy=Current thread busy:
+htmlManagerServlet.connectorStateThreadBusy=Current threads busy:
htmlManagerServlet.connectorStateThreadCount=Current thread count:
htmlManagerServlet.deployButton=Deploy
-htmlManagerServlet.deployConfig=XML Configuration file URL:
+htmlManagerServlet.deployConfig=XML Configuration file path:
htmlManagerServlet.deployPath=Context Path (required):
htmlManagerServlet.deployServer=Deploy directory or WAR file located on server
htmlManagerServlet.deployTitle=Deploy
@@ -60,7 +60,7 @@ htmlManagerServlet.deployUploadInServerXml=FAIL - War file [{0}] cannot be uploa
htmlManagerServlet.deployUploadNoFile=FAIL - File upload failed, no file
htmlManagerServlet.deployUploadNotWar=FAIL - File uploaded [{0}] must be a .war
htmlManagerServlet.deployUploadWarExists=FAIL - War file [{0}] already exists on server
-htmlManagerServlet.deployWar=WAR or Directory URL:
+htmlManagerServlet.deployWar=WAR or Directory path:
htmlManagerServlet.diagnosticsLeak=Check to see if a web application has caused a memory leak on stop, reload or undeploy
htmlManagerServlet.diagnosticsLeakButton=Find leaks
htmlManagerServlet.diagnosticsLeakWarning=This diagnostic check will trigger a full garbage collection. Use it with extreme caution on production systems.
diff --git a/java/org/apache/catalina/mapper/LocalStrings.properties b/java/org/apache/catalina/mapper/LocalStrings.properties
index b3574fa..74e5b46 100644
--- a/java/org/apache/catalina/mapper/LocalStrings.properties
+++ b/java/org/apache/catalina/mapper/LocalStrings.properties
@@ -25,7 +25,7 @@ mapperListener.pauseContext=Register Context [{0}] as being reloaded for service
mapperListener.registerContext=Register Context [{0}] for service [{1}]
mapperListener.registerHost=Register host [{0}] at domain [{1}] for service [{2}]
mapperListener.registerWrapper=Register Wrapper [{0}] in Context [{1}] for service [{2}]
-mapperListener.unknownDefaultHost=Unknown default host [{0}] for service [{1}]
+mapperListener.unknownDefaultHost=Unknown default host [{0}] for service [{1}]. Tomcat will not be able process HTTP/1.0 requests that do not specify a host name.
mapperListener.unregisterContext=Unregister Context [{0}] for service [{1}]
mapperListener.unregisterHost=Unregister host [{0}] at domain [{1}] for service [{2}]
mapperListener.unregisterWrapper=Unregister Wrapper [{0}] in Context [{1}] for service [{2}]
diff --git a/java/org/apache/catalina/session/LocalStrings.properties b/java/org/apache/catalina/session/LocalStrings.properties
index 0b573e9..e98748b 100644
--- a/java/org/apache/catalina/session/LocalStrings.properties
+++ b/java/org/apache/catalina/session/LocalStrings.properties
@@ -41,7 +41,7 @@ managerBase.sessionTimeout=Invalid session timeout setting [{0}]
managerBase.setContextNotNew=It is illegal to call setContext() to change the Context associated with a Manager if the Manager is not in the NEW state
persistentManager.backupMaxIdle=Backing up session [{0}] to Store, idle for [{1}] seconds
-persistentManager.deserializeError=Error deserializing Session [{0}]: [{1}]
+persistentManager.deserializeError=Error deserializing Session [{0}]
persistentManager.loading=Loading [{0}] persisted sessions
persistentManager.serializeError=Error serializing Session [{0}]: [{1}]
persistentManager.storeKeysException=Unable to determine the list of session IDs for sessions in the session store, assuming that the store is empty
diff --git a/java/org/apache/catalina/startup/LocalStrings.properties b/java/org/apache/catalina/startup/LocalStrings.properties
index 8b1a617..306b35e 100644
--- a/java/org/apache/catalina/startup/LocalStrings.properties
+++ b/java/org/apache/catalina/startup/LocalStrings.properties
@@ -18,7 +18,7 @@ catalina.noCluster=Cluster RuleSet not found due to [{0}]. Cluster configuration
catalina.serverStartFail=The required Server component failed to start so Tomcat is unable to start.
catalina.shutdownHookFail=The shutdown hook experienced an error while trying to stop the server
catalina.stopServer=No shutdown port configured. Shut down server through OS signal. Server not shut down.
-catalina.stopServer.connectException=Could not contact [{0}:[{1}]]. Tomcat may not be running.
+catalina.stopServer.connectException=Could not contact [{0}:{1}]. Tomcat may not be running.
connector.noSetExecutor=Connector [{0}] does not support external executors. Method setExecutor(java.util.concurrent.Executor) not found.
connector.noSetSSLImplementationName=Connector [{0}] does not support changing the SSL implementation. Method setSslImplementationName(String) not found.
@@ -103,12 +103,12 @@ hostConfig.context.remove=Error while removing context [{0}]
hostConfig.context.restart=Error during context [{0}] restart
hostConfig.createDirs=Unable to create directory for deployment: [{0}]
hostConfig.deploy.error=Exception while deploying web application directory [{0}]
-hostConfig.deployDescriptor=Deploying configuration descriptor [{0}]
+hostConfig.deployDescriptor=Deploying deployment descriptor [{0}]
hostConfig.deployDescriptor.blocked=The web application with context path [{0}] was not deployed because it contained a deployment descriptor [{1}] which may include configuration necessary for the secure deployment of the application but processing of deployment descriptors is prevented by the deployXML setting of this host. An appropriate descriptor should be created at [{2}] to deploy this application.
-hostConfig.deployDescriptor.error=Error deploying configuration descriptor [{0}]
-hostConfig.deployDescriptor.finished=Deployment of configuration descriptor [{0}] has finished in [{1}] ms
+hostConfig.deployDescriptor.error=Error deploying deployment descriptor [{0}]
+hostConfig.deployDescriptor.finished=Deployment of deployment descriptor [{0}] has finished in [{1}] ms
hostConfig.deployDescriptor.localDocBaseSpecified=A docBase [{0}] inside the host appBase has been specified, and will be ignored
-hostConfig.deployDescriptor.threaded.error=Error waiting for multi-thread deployment of context descriptors to complete
+hostConfig.deployDescriptor.threaded.error=Error waiting for multi-thread deployment of deployment descriptors to complete
hostConfig.deployDir=Deploying web application directory [{0}]
hostConfig.deployDir.error=Error deploying web application directory [{0}]
hostConfig.deployDir.finished=Deployment of web application directory [{0}] has finished in [{1}] ms
@@ -128,7 +128,7 @@ hostConfig.illegalWarName=The war name [{0}] is invalid. The archive will be ign
hostConfig.jmx.register=Register context [{0}] failed
hostConfig.jmx.unregister=Unregister context [{0}] failed
hostConfig.reload=Reloading context [{0}]
-hostConfig.resourceNotAbsolute=Unable to remove resource from context [{0}] since [{1}] is not absolute
+hostConfig.resourceNotAbsolute=Unable to remove resource from context [{0}] since [{1}] is not an absolute path
hostConfig.start=HostConfig: Processing START
hostConfig.stop=HostConfig: Processing STOP
hostConfig.undeploy=Undeploying context [{0}]
@@ -158,8 +158,8 @@ versionLoggerListener.os.name=OS Name: {0}
versionLoggerListener.os.version=OS Version: {0}
versionLoggerListener.prop=System property: {0} = {1}
versionLoggerListener.serverInfo.server.built=Server built: {0}
-versionLoggerListener.serverInfo.server.number=Server number: {0}
-versionLoggerListener.serverInfo.server.version=Server version: {0}
+versionLoggerListener.serverInfo.server.number=Server version number: {0}
+versionLoggerListener.serverInfo.server.version=Server version name: {0}
versionLoggerListener.vm.vendor=JVM Vendor: {0}
versionLoggerListener.vm.version=JVM Version: {0}
diff --git a/java/org/apache/catalina/tribes/group/LocalStrings.properties b/java/org/apache/catalina/tribes/group/LocalStrings.properties
index 3b22f09..315e095 100644
--- a/java/org/apache/catalina/tribes/group/LocalStrings.properties
+++ b/java/org/apache/catalina/tribes/group/LocalStrings.properties
@@ -18,7 +18,7 @@ channelCoordinator.invalid.startLevel=Invalid start level, valid levels are:SND_
groupChannel.listener.alreadyExist=Listener already exists:[{0}][{1}]
groupChannel.noDestination=No destination given
-groupChannel.nullMessage=Can't send a NULL message
+groupChannel.nullMessage=Cannot send a NULL message
groupChannel.optionFlag.conflict=Interceptor option flag conflict: [{0}]
groupChannel.receiving.error=Error receiving message:
groupChannel.sendFail.noRpcChannelReply=Unable to find rpc channel, failed to send NoRpcChannelReply.
diff --git a/java/org/apache/catalina/tribes/group/interceptors/LocalStrings.properties b/java/org/apache/catalina/tribes/group/interceptors/LocalStrings.properties
index 3a1170d..854dfca 100644
--- a/java/org/apache/catalina/tribes/group/interceptors/LocalStrings.properties
+++ b/java/org/apache/catalina/tribes/group/interceptors/LocalStrings.properties
@@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-domainFilterInterceptor.member.refused=Member was refused to join cluster[{0}]
+domainFilterInterceptor.member.refused=Member [{0}] was refused to join cluster
domainFilterInterceptor.message.refused=Received message from cluster[{0}] was refused.
encryptInterceptor.algorithm.required=Encryption algorithm is required, fully-specified e.g. AES/CBC/PKCS5Padding
@@ -72,7 +72,7 @@ throughputInterceptor.report=ThroughputInterceptor Report[\n\
\tSent:{2} MB (application)\n\
\tTime:{3} seconds\n\
\tTx Speed:{4} MB/sec (total)\n\
-\tTxSpeed:{5} MB/sec (application)\n\
+\tTx Speed:{5} MB/sec (application)\n\
\tError Msg:{6}\n\
\tRx Msg:{7} messages\n\
\tRx Speed:{8} MB/sec (since 1st msg)\n\
diff --git a/java/org/apache/catalina/tribes/io/LocalStrings.properties b/java/org/apache/catalina/tribes/io/LocalStrings.properties
index 4d84cc4..f7ef725 100644
--- a/java/org/apache/catalina/tribes/io/LocalStrings.properties
+++ b/java/org/apache/catalina/tribes/io/LocalStrings.properties
@@ -23,5 +23,5 @@ xByteBuffer.discarded.invalidHeader=Discarded the package, invalid header
xByteBuffer.no.package=No package exists in XByteBuffer
xByteBuffer.size.larger.buffer=Size is larger than existing buffer.
xByteBuffer.unableCreate=Unable to create data package, buffer is too small.
-xByteBuffer.unableTrim=Can''t trim more bytes than are available. length:[{0}] trim:[{1}]
+xByteBuffer.unableTrim=Cannot trim more bytes than are available. length:[{0}] trim:[{1}]
xByteBuffer.wrong.class=Message has the wrong class. It should implement Serializable, instead it is:[{0}]
diff --git a/java/org/apache/catalina/tribes/membership/LocalStrings.properties b/java/org/apache/catalina/tribes/membership/LocalStrings.properties
index bd2742b..a4bd33a 100644
--- a/java/org/apache/catalina/tribes/membership/LocalStrings.properties
+++ b/java/org/apache/catalina/tribes/membership/LocalStrings.properties
@@ -32,7 +32,7 @@ mcastServiceImpl.memberDisappeared.failed=Unable to process member disappeared m
mcastServiceImpl.packet.tooLong=Multicast packet received was too long, dropping package:[{0}]
mcastServiceImpl.receive.running=McastService.receive already running.
mcastServiceImpl.recovery=Tribes membership, running recovery thread, multicasting is not functional.
-mcastServiceImpl.recovery.failed=Recovery attempt [{0}] failed, trying again in [{1}] seconds
+mcastServiceImpl.recovery.failed=Recovery attempt number [{0}] failed, trying again in [{1}] seconds
mcastServiceImpl.recovery.startFailed=Recovery thread failed to start membership service.
mcastServiceImpl.recovery.stopFailed=Recovery thread failed to stop membership service.
mcastServiceImpl.recovery.successful=Membership recovery was successful.
@@ -48,9 +48,9 @@ mcastServiceImpl.waitForMembers.start=Sleeping for [{0}] milliseconds to establi
memberImpl.invalid.package.begin=Invalid package, should start with:[{0}]
memberImpl.invalid.package.end=Invalid package, should end with:[{0}]
-memberImpl.large.payload=Payload is to large for tribes to handle.
+memberImpl.large.payload=Payload is too large for tribes to handle.
memberImpl.notEnough.bytes=Not enough bytes in member package.
-memberImpl.package.small=Member package to small to validate.
+memberImpl.package.small=Member package too small to validate.
memberImpl.unableParse.hostname=Unable to parse hostname.
staticMember.invalid.uuidLength=UUID must be exactly 16 bytes, not:[{0}]
diff --git a/java/org/apache/catalina/tribes/tipis/LocalStrings.properties b/java/org/apache/catalina/tribes/tipis/LocalStrings.properties
index 7c37535..5aff1d7 100644
--- a/java/org/apache/catalina/tribes/tipis/LocalStrings.properties
+++ b/java/org/apache/catalina/tribes/tipis/LocalStrings.properties
@@ -44,8 +44,8 @@ abstractReplicatedMap.unableStart=Unable to start replicated map.
lazyReplicatedMap.unableReplicate.backup=Unable to replicate backup key:[{0}] to backup:[{1}]. Reason:[{2}]
lazyReplicatedMap.unableReplicate.proxy=Unable to replicate proxy key:[{0}] to backup:[{1}]. Reason:[{2}]
-mapMessage.deserialize.error.key=Deserialization error of the MapMessage.key
-mapMessage.deserialize.error.value=Deserialization error of the MapMessage.value
+mapMessage.deserialize.error.key=Failed to deserialize MapMessage key
+mapMessage.deserialize.error.value=Failed to deserialize MapMessage value
replicatedMap.member.disappeared=Member[{0}] disappeared. Related map entries will be relocated to the new node.
replicatedMap.relocate.complete=Relocation of map entries was complete in [{0}] ms.
diff --git a/java/org/apache/catalina/tribes/transport/bio/LocalStrings.properties b/java/org/apache/catalina/tribes/transport/bio/LocalStrings.properties
index 17b9231..089e44a 100644
--- a/java/org/apache/catalina/tribes/transport/bio/LocalStrings.properties
+++ b/java/org/apache/catalina/tribes/transport/bio/LocalStrings.properties
@@ -17,7 +17,7 @@ bioReceiver.already.started=ServerSocket already started
bioReceiver.run.fail=Unable to run replication listener.
bioReceiver.socket.closeFailed=Failed to close socket
bioReceiver.start.fail=Unable to start cluster receiver
-bioReceiver.threadpool.fail=ThreadPool can initialized. Listener not started
+bioReceiver.threadpool.fail=ThreadPool cannot be initialized. Listener not started
bioReceiver.threads.busy=All BIO server replication threads are busy, unable to handle more requests until a thread is freed up.
bioReplicationTask.messageDataReceived.error=Error thrown from messageDataReceived.
@@ -37,4 +37,4 @@ bioSender.openSocket.failure=Open sender socket [{0}:{1,number,integer}] failure
bioSender.send.again=Send data again to [{0}:{1,number,integer}]
pooledMultiSender.retrieve.fail=Unable to retrieve a sender from the sender pool
-pooledMultiSender.unable.retrieve.sender=Unable to retrieve a data sender, time out[{0}] ms) error.
+pooledMultiSender.unable.retrieve.sender=Unable to retrieve a data sender, time out([{0}] ms) error.
diff --git a/java/org/apache/catalina/tribes/transport/nio/LocalStrings.properties b/java/org/apache/catalina/tribes/transport/nio/LocalStrings.properties
index d161e12..d59e0d7 100644
--- a/java/org/apache/catalina/tribes/transport/nio/LocalStrings.properties
+++ b/java/org/apache/catalina/tribes/transport/nio/LocalStrings.properties
@@ -22,7 +22,7 @@ nioReceiver.start.fail=Unable to start cluster receiver
nioReceiver.stop.fail=Unable to close cluster receiver selector
nioReceiver.stop.threadRunning=The NioReceiver thread did not stop in a timely manner. Errors may be observed when the selector is closed.
nioReceiver.threadpool.fail=ThreadPool cannot be initialized. Listener not started.
-nioReceiver.threadsExhausted=Channel key is registered, but has had no interest ops for the last [{0}] ms. (cancelled: [{1}]):[{2}] last access:[{3} Possible cause: all threads used, perform thread dump
+nioReceiver.threadsExhausted=Channel key is registered, but has had no interest ops for the last [{0}] ms. (cancelled: [{1}]):[{2}] last access:[{3}] Possible cause: all threads used, perform thread dump
nioReplicationTask.error.register.key=Error registering key for read:[{0}]
nioReplicationTask.exception.drainChannel=Exception caught in TcpReplicationThread.drainChannel.
@@ -35,7 +35,7 @@ nioSender.datagram.already.established=Datagram channel has already been establi
nioSender.key.inValid=Key is not valid, it must have been cancelled.
nioSender.not.connected=NioSender is not connected, this should not occur.
nioSender.receive.failedAck=Received a failed ack:org.apache.catalina.tribes.transport.Constants.FAIL_ACK_DATA
-nioSender.sender.disconnected=Sender has been disconnected, can't selection key.
+nioSender.sender.disconnected=Sender has been disconnected, can't process selection key.
nioSender.socketChannel.already.established=Socket channel has already been established. Connection might be in progress.
nioSender.unable.disconnect=Unable to disconnect NioSender. msg=[{0}]
nioSender.unable.receive.ack=Unable to receive an ack message. EOF on socket channel has been reached.
diff --git a/java/org/apache/catalina/util/LocalStrings.properties b/java/org/apache/catalina/util/LocalStrings.properties
index 18ecbef..bd26cdb 100644
--- a/java/org/apache/catalina/util/LocalStrings.properties
+++ b/java/org/apache/catalina/util/LocalStrings.properties
@@ -19,7 +19,7 @@ customObjectInputStream.logRequired=A valid logger is required for class name fi
customObjectInputStream.nomatch=The class [{0}] did not match the regular expression [{1}] for classes allowed to be deserialized
extensionValidator.extension-not-found-error=ExtensionValidator[{0}][{1}]: Required extension [{2}] not found.
-extensionValidator.extension-validation-error=ExtensionValidator[{0}]: Failure to find [{1}] required extension(s).
+extensionValidator.extension-validation-error=ExtensionValidator[{0}]: Failed to find [{1}] required extension(s).
extensionValidator.failload=Failure loading extension [{0}]
extensionValidator.web-application-manifest=Web Application Manifest
@@ -32,7 +32,7 @@ lifecycleBase.alreadyDestroyed=The destroy() method was called on component [{0}
lifecycleBase.alreadyStarted=The start() method was called on component [{0}] after start() had already been called. The second call will be ignored.
lifecycleBase.alreadyStopped=The stop() method was called on component [{0}] after stop() had already been called. The second call will be ignored.
lifecycleBase.destroyFail=Failed to destroy component [{0}]
-lifecycleBase.destroyStopFail=Calling stop() on failed component [{0}] to trigger clean-up did not complete.
+lifecycleBase.destroyStopFail=Called stop() on failed component [{0}] to trigger clean-up but it failed too
lifecycleBase.initFail=Failed to initialize component [{0}]
lifecycleBase.invalidTransition=An invalid Lifecycle transition was attempted ([{0}]) for component [{1}] in state [{2}]
lifecycleBase.setState=Setting state for [{0}] to [{1}]
diff --git a/java/org/apache/catalina/valves/LocalStrings.properties b/java/org/apache/catalina/valves/LocalStrings.properties
index 07a7d68..8165455 100644
--- a/java/org/apache/catalina/valves/LocalStrings.properties
+++ b/java/org/apache/catalina/valves/LocalStrings.properties
@@ -113,7 +113,7 @@ http.504.desc=The server, while acting as a gateway or proxy, did not receive a
http.504.reason=Gateway Timeout
http.505.desc=The server does not support, or refuses to support, the major version of HTTP that was used in the request message.
http.505.reason=HTTP Version Not Supported
-http.506.desc=The server has an internal configuration error: the chosen variant resource is configured to engage in transparent content negotiation itself, and is thereforenot a proper end point in the negotiation process.
+http.506.desc=The server has an internal configuration error: the chosen variant resource is configured to engage in transparent content negotiation itself, and is therefore not a proper end point in the negotiation process.
http.506.reason=Variant Also Negotiates
http.507.desc=The method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request.
http.507.reason=Insufficient Storage
diff --git a/java/org/apache/coyote/http11/LocalStrings.properties b/java/org/apache/coyote/http11/LocalStrings.properties
index 187b954..f39bb91 100644
--- a/java/org/apache/coyote/http11/LocalStrings.properties
+++ b/java/org/apache/coyote/http11/LocalStrings.properties
@@ -18,7 +18,7 @@ abstractHttp11Protocol.alpnWithNoAlpn=The upgrade handler [{0}] for [{1}] only s
abstractHttp11Protocol.httpUpgradeConfigured=The [{0}] connector has been configured to support HTTP upgrade to [{1}]
http11processor.fallToDebug=\n\
-\ Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
+\ Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.
http11processor.header.parse=Error parsing HTTP request header
http11processor.neverused=This method should never be used
http11processor.request.finish=Error finishing request
diff --git a/java/org/apache/coyote/http2/LocalStrings.properties b/java/org/apache/coyote/http2/LocalStrings.properties
index b4f9925..f18a7ca 100644
--- a/java/org/apache/coyote/http2/LocalStrings.properties
+++ b/java/org/apache/coyote/http2/LocalStrings.properties
@@ -53,7 +53,7 @@ http2Parser.headers.wrongFrameType=Connection [{0}], headers in progress for str
http2Parser.headers.wrongStream=Connection [{0}], headers in progress for stream [{1}] but a frame for stream [{2}] was received
http2Parser.nonZeroPadding=Connection [{0}], Stream [{1}], Non-zero padding received
http2Parser.payloadTooBig=The payload is [{0}] bytes long but the maximum frame size is [{1}]
-http2Parser.preface.invalid=Invalid connection preface [{0}] presented
+http2Parser.preface.invalid=Invalid connection preface presented
http2Parser.preface.io=Unable to read connection preface
http2Parser.processFrame=Connection [{0}], Stream [{1}], Frame type [{2}], Flags [{3}], Payload size [{4}]
http2Parser.processFrame.tooMuchPadding=Connection [{0}], Stream [{1}], The padding length [{2}] was too big for the payload [{3}]
@@ -64,7 +64,7 @@ http2Parser.processFrameData.window=Connection [{0}], Client sent more data than
http2Parser.processFrameGoaway.payloadTooSmall=Connection [{0}]: Goaway payload size was [{1}] which is less than the minimum 8
http2Parser.processFrameHeaders.decodingDataLeft=Data left over after HPACK decoding - it should have been consumed
http2Parser.processFrameHeaders.decodingFailed=There was an error during the HPACK decoding of HTTP headers
-http2Parser.processFrameHeaders.payload=Connection [{0}], Stream [{1}], Processing headers payload size [{2}]
+http2Parser.processFrameHeaders.payload=Connection [{0}], Stream [{1}], Processing headers payload of size [{2}]
http2Parser.processFramePing.invalidPayloadSize=Settings frame received with an invalid payload size of [{0}] (should be 8)
http2Parser.processFramePriority.invalidParent=Connection [{0}], Stream [{1}], A stream may not depend on itself
http2Parser.processFramePriority.invalidPayloadSize=Priority frame received with an invalid payload size of [{0}] (should be 5)
@@ -159,9 +159,9 @@ upgradeHandler.writePushHeaders=Connection [{0}], Stream [{1}], Pushed stream [{
windowAllocationManager.dispatched=Connection [{0}], Stream [{1}], Dispatched
windowAllocationManager.notified=Connection [{0}], Stream [{1}], Notified
windowAllocationManager.notify=Connection [{0}], Stream [{1}], Waiting type [{2}], Notify type [{3}]
-windowAllocationManager.waitFor.connection=Connection [{0}], Stream [{1}], Waiting for Connection flow control window (blocking) with timeout [{3}]
+windowAllocationManager.waitFor.connection=Connection [{0}], Stream [{1}], Waiting for Connection flow control window (blocking) with timeout [{2}]
windowAllocationManager.waitFor.ise=Connection [{0}], Stream [{1}], Already waiting
-windowAllocationManager.waitFor.stream=Connection [{0}], Stream [{1}], Waiting for Stream flow control window (blocking) with timeout [{3}]
+windowAllocationManager.waitFor.stream=Connection [{0}], Stream [{1}], Waiting for Stream flow control window (blocking) with timeout [{2}]
windowAllocationManager.waitForNonBlocking.connection=Connection [{0}], Stream [{1}], Waiting for Connection flow control window (non-blocking)
windowAllocationManager.waitForNonBlocking.stream=Connection [{0}], Stream [{1}], Waiting for Stream flow control window (non-blocking)
diff --git a/java/org/apache/tomcat/util/descriptor/web/LocalStrings.properties b/java/org/apache/tomcat/util/descriptor/web/LocalStrings.properties
index d5153fd..cd74378 100644
--- a/java/org/apache/tomcat/util/descriptor/web/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/descriptor/web/LocalStrings.properties
@@ -26,7 +26,7 @@ webRuleSet.absoluteOrdering=<absolute-ordering> element not valid in web-fragmen
webRuleSet.absoluteOrderingCount=<absolute-ordering> element is limited to 1 occurrence
webRuleSet.nameCount=<name> element is limited to 1 occurrence
webRuleSet.postconstruct.duplicate=Duplicate post construct method definition for class [{0}]
-webRuleSet.predestroy.duplicate=Duplicate pre destroy method definition for class [{0}]
+webRuleSet.predestroy.duplicate=Duplicate @PreDestroy method definition for class [{0}]
webRuleSet.relativeOrdering=<ordering> element not valid in web.xml and will be ignored
webRuleSet.relativeOrderingCount=<ordering> element is limited to 1 occurrence
@@ -55,7 +55,7 @@ webXml.mergeConflictSessionCookieSecure=The session cookie secure flag was defin
webXml.mergeConflictSessionTimeout=The session timeout was defined inconsistently in multiple fragments with different values including fragment with name [{0}] located at [{1}]
webXml.mergeConflictSessionTrackingMode=The session tracking modes were defined inconsistently in multiple fragments including fragment with name [{0}] located at [{1}]
webXml.mergeConflictString=The [{0}] with name [{1}] was defined inconsistently in multiple fragments including fragment with name [{2}] located at [{3}]
-webXml.multipleOther=Multiple others entries in ordering
+webXml.multipleOther=Multiple <others> entries nested in <ordering> element
webXml.reservedName=A web.xml file was detected using a reserved name [{0}]. The name element will be ignored for this fragment.
webXml.unrecognisedPublicId=The public ID [{0}] did not match any of the known public ID''s for web.xml files so the version could not be identified
webXml.version.unknown=Unknown version string [{0}]. Default version will be used.
diff --git a/java/org/apache/tomcat/util/http/LocalStrings.properties b/java/org/apache/tomcat/util/http/LocalStrings.properties
index 1cd1ac2..17211a3 100644
--- a/java/org/apache/tomcat/util/http/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/http/LocalStrings.properties
@@ -34,7 +34,7 @@ parameters.maxCountFail=More than the maximum number of request parameters (GET
parameters.maxCountFail.fallToDebug=\n\
\ Note: further occurrences of this error will be logged at DEBUG level.
parameters.multipleDecodingFail=Character decoding failed. A total of [{0}] failures were detected but only the first was logged. Enable debug level logging for this logger to log all failures.
-parameters.noequal=Parameter starting at position [{0}] and ending at position [{1}] with a value of [{0}] was not followed by an ''='' character
+parameters.noequal=Parameter starting at position [{0}] and ending at position [{1}] with a value of [{2}] was not followed by an ''='' character
rfc6265CookieProcessor.invalidCharInValue=An invalid character [{0}] was present in the Cookie value
rfc6265CookieProcessor.invalidDomain=An invalid domain [{0}] was specified for this cookie
diff --git a/java/org/apache/tomcat/util/http/parser/LocalStrings.properties b/java/org/apache/tomcat/util/http/parser/LocalStrings.properties
index c94685d..e4cc162 100644
--- a/java/org/apache/tomcat/util/http/parser/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/http/parser/LocalStrings.properties
@@ -15,7 +15,8 @@
authorization.unknownType=Unknown Type [{0}]
-cookie.fallToDebug=Note: further occurrences of this error will be logged at DEBUG level.
+cookie.fallToDebug=\n\
+\ Note: further occurrences of this error will be logged at DEBUG level.
cookie.invalidCookieValue=A cookie header was received [{0}] that contained an invalid cookie. That cookie will be ignored.
cookie.invalidCookieVersion=A cookie header was received using an unrecognised cookie version of [{0}]. The header and the cookies it contains will be ignored.
cookie.valueNotPresent=<not present>
@@ -40,4 +41,4 @@ http.tooFewHextets=An IPv6 address must consist of 8 hextets but this address co
http.tooManyColons=An IPv6 address may not contain more than 2 sequential colon characters.
http.tooManyDoubleColons=An IPv6 address may only contain a single '::' sequence.
http.tooManyHextets=The IPv6 address contains [{0}] hextets but a valid IPv6 address may not have more than 8.
-http.wrongOctetCount=An IPv4 address should have exactly 4 octets, not [{0}].>>>>>>> .merge-right.r1815790
+http.wrongOctetCount=An IPv4 address should have exactly 4 octets, not [{0}].
diff --git a/java/org/apache/tomcat/util/net/LocalStrings.properties b/java/org/apache/tomcat/util/net/LocalStrings.properties
index 74a6b7a..995f9d4 100644
--- a/java/org/apache/tomcat/util/net/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/net/LocalStrings.properties
@@ -56,7 +56,7 @@ endpoint.apr.makeConf=Creating OpenSSLConf context
endpoint.apr.maxConnections.running=The APR endpoint does not support the setting of maxConnections while it is running. The existing value of [{0}] will continue to be used.
endpoint.apr.maxConnections.unlimited=The APR endpoint does not support unlimited connections. The existing value of [{0}] will continue to be used.
endpoint.apr.noSendfileWithSSL=Sendfile is not supported for the APR/native connector when SSL is enabled
-endpoint.apr.pollAddInvalid=Invalid attempted to add a socket [{0}] to the poller
+endpoint.apr.pollAddInvalid=Invalid attempt to add a socket [{0}] to the poller
endpoint.apr.pollError=Poller failed with error [{0}] : [{1}]
endpoint.apr.pollMergeEvents=Merge poller event [{1}] for socket [{0}] to create merged event [{2}]
endpoint.apr.pollUnknownEvent=A socket was returned from the poller with an unrecognized event [{0}]
@@ -113,7 +113,7 @@ endpoint.setAttribute=Set [{0}] to [{1}]
endpoint.timeout.err=Error processing socket timeout
endpoint.unknownSslHostName=The SSL host name [{0}] is not recognised for this endpoint
endpoint.warn.executorShutdown=The executor associated with thread pool [{0}] has not fully shutdown. Some application threads may still be running.
-endpoint.warn.incorrectConnectionCount=Incorrect connection count, multiple socket.close called on the same socket.
+endpoint.warn.incorrectConnectionCount=Incorrect connection count, multiple calls to socket.close for the same socket.
endpoint.warn.noLocalAddr=Unable to determine local address for socket [{0}]
endpoint.warn.noLocalName=Unable to determine local host name for socket [{0}]
endpoint.warn.noLocalPort=Unable to determine local port for socket [{0}]
diff --git a/java/org/apache/tomcat/util/net/jsse/LocalStrings.properties b/java/org/apache/tomcat/util/net/jsse/LocalStrings.properties
index 2bcb836..bae8f03 100644
--- a/java/org/apache/tomcat/util/net/jsse/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/net/jsse/LocalStrings.properties
@@ -36,4 +36,4 @@ jsseUtil.noVerificationDepth=The truststoreProvider [{0}] does not support the c
jsseUtil.trustedCertNotChecked=The validity dates of the trusted certificate with alias [{0}] were not checked as the certificate was of an unknown type
jsseUtil.trustedCertNotValid=The trusted certificate with alias [{0}] and DN [{1}] is not valid due to [{2}]. Certificates signed by this trusted certificate WILL be accepted
-pemFile.noMultiPrimes=The PKCS#1 certificate is in multi-prime format and Java does not provide an API for constructing an RSA private key object from that format
\ No newline at end of file
+pemFile.noMultiPrimes=The PKCS#1 certificate is in multi-prime format and Java does not provide an API for constructing an RSA private key object from that format
diff --git a/java/org/apache/tomcat/util/scan/LocalStrings.properties b/java/org/apache/tomcat/util/scan/LocalStrings.properties
index 7e5cf06..3198626 100644
--- a/java/org/apache/tomcat/util/scan/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/scan/LocalStrings.properties
@@ -14,12 +14,12 @@
# limitations under the License.
jarScan.classloaderFail=Failed to scan [{0}] from classloader hierarchy
-jarScan.classloaderJarNoScan=Not scanning JAR [{0}] from classpath
+jarScan.classloaderJarNoScan=Not performing JAR scanning on file [{0}] from classpath
jarScan.classloaderJarScan=Scanning JAR [{0}] from classpath
jarScan.classloaderStart=Scanning for JARs in classloader hierarchy
jarScan.jarUrlStart=Scanning JAR at URL [{0}]
jarScan.webinfclassesFail=Failed to scan /WEB-INF/classes
jarScan.webinflibFail=Failed to scan JAR [{0}] from /WEB-INF/lib
-jarScan.webinflibJarNoScan=Not scanning JAR [{0}] from /WEB-INF/lib
+jarScan.webinflibJarNoScan=Not performing JAR scanning on file [{0}] from /WEB-INF/lib
jarScan.webinflibJarScan=Scanning JAR [{0}] from /WEB-INF/lib
jarScan.webinflibStart=Scanning /WEB-INF/lib for JARs
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 47f9854..e40556e 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -45,6 +45,14 @@
issues do not "pop up" wrt. others).
-->
<section name="Tomcat 8.5.46 (markt)" rtext="in development">
+ <subsection name="Other">
+ <changelog>
+ <fix>
+ Back-port various corrections and improvements to the English versions
+ of the i18n messages. (markt)
+ </fix>
+ </changelog>
+ </subsection>
</section>
<section name="Tomcat 8.5.45 (markt)" rtext="release in progress">
<subsection name="Coyote">
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org