diff --git a/core/src/main/java/hudson/FilePath.java b/core/src/main/java/hudson/FilePath.java
index 91b5a5d3de2745b4265ecddeb3dcb23093809086..8b13318491bad457c5c7f0141b8f67a38ede41d2 100644
--- a/core/src/main/java/hudson/FilePath.java
+++ b/core/src/main/java/hudson/FilePath.java
@@ -1783,20 +1783,17 @@ public final class FilePath implements Serializable {
if(hasMatch(dir,pattern)) {
// found a match
if(previous==null)
- return String.format("'%s' doesn't match anything, although '%s' exists",
- fileMask, pattern );
+ return Messages.FilePath_validateAntFileMask_portionMatchAndSuggest(fileMask, pattern);
else
- return String.format("'%s' doesn't match anything: '%s' exists but not '%s'",
- fileMask, pattern, previous );
+ return Messages.FilePath_validateAntFileMask_portionMatchButPreviousNotMatchAndSuggest(fileMask, pattern, previous);
}
int idx = findSeparator(pattern);
if(idx<0) {// no more path component left to go back
if(pattern.equals(fileMask))
- return String.format("'%s' doesn't match anything", fileMask );
+ return Messages.FilePath_validateAntFileMask_doesntMatchAnything(fileMask);
else
- return String.format("'%s' doesn't match anything: even '%s' doesn't exist",
- fileMask, pattern );
+ return Messages.FilePath_validateAntFileMask_doesntMatchAnythingAndSuggest(fileMask, pattern);
}
// cut off the trailing component and try again
@@ -1886,7 +1883,7 @@ public final class FilePath implements Serializable {
if(value==null || (AbstractProject,?>)subject ==null) return FormValidation.ok();
// a common mistake is to use wildcard
- if(value.contains("*")) return FormValidation.error("Wildcard is not allowed here");
+ if(value.contains("*")) return FormValidation.error(Messages.FilePath_validateRelativePath_wildcardNotAllowed());
try {
if(!exists()) // no base directory. can't check
@@ -1898,16 +1895,17 @@ public final class FilePath implements Serializable {
if(!path.isDirectory())
return FormValidation.ok();
else
- return FormValidation.error(value+" is not a file");
+ return FormValidation.error(Messages.FilePath_validateRelativePath_notFile(value));
} else {
if(path.isDirectory())
return FormValidation.ok();
else
- return FormValidation.error(value+" is not a directory");
+ return FormValidation.error(Messages.FilePath_validateRelativePath_notDirectory(value));
}
}
- String msg = "No such "+(expectingFile?"file":"directory")+": " + value;
+ String msg = expectingFile ? Messages.FilePath_validateRelativePath_noSuchFile(value) :
+ Messages.FilePath_validateRelativePath_noSuchDirectory(value);
if(errorIfNotExist) return FormValidation.error(msg);
else return FormValidation.warning(msg);
} catch (InterruptedException e) {
diff --git a/core/src/main/resources/hudson/Messages.properties b/core/src/main/resources/hudson/Messages.properties
index 81a3e452b94818a228895fe82880188251e3918c..bb486c98db82d8b34126c9c00b74a64c6578e902 100644
--- a/core/src/main/resources/hudson/Messages.properties
+++ b/core/src/main/resources/hudson/Messages.properties
@@ -24,6 +24,16 @@ FilePath.validateAntFileMask.whitespaceSeprator=\
Whitespace can no longer be used as the separator. Please Use '','' as the separator instead.
FilePath.validateAntFileMask.doesntMatchAndSuggest=\
''{0}'' doesn''t match anything, but ''{1}'' does. Perhaps that''s what you mean?
+FilePath.validateAntFileMask.portionMatchAndSuggest=''{0}'' doesn''t match anything, although ''{1}'' exists
+FilePath.validateAntFileMask.portionMatchButPreviousNotMatchAndSuggest=''{0}'' doesn''t match anything: ''{1}'' exists but not ''{2}''
+FilePath.validateAntFileMask.doesntMatchAnything=''{0}'' doesn''t match anything
+FilePath.validateAntFileMask.doesntMatchAnythingAndSuggest=''{0}'' doesn''t match anything: even ''{1}'' doesn''t exist
+
+FilePath.validateRelativePath.wildcardNotAllowed=Wildcard is not allowed here
+FilePath.validateRelativePath.notFile=''{0}'' is not a file
+FilePath.validateRelativePath.notDirectory=''{0}'' is not a directory
+FilePath.validateRelativePath.noSuchFile=No such file: ''{0}''
+FilePath.validateRelativePath.noSuchDirectory=No such directory: ''{0}''
Util.millisecond={0} ms
Util.second={0} sec
diff --git a/core/src/main/resources/hudson/Messages_ja.properties b/core/src/main/resources/hudson/Messages_ja.properties
index 78b0970953419b54bfbd550361953d2ea5218548..6c02056cac3c39788213b5bd701f53f6e79e3d83 100644
--- a/core/src/main/resources/hudson/Messages_ja.properties
+++ b/core/src/main/resources/hudson/Messages_ja.properties
@@ -23,7 +23,19 @@
FilePath.validateAntFileMask.whitespaceSeprator=\
\u7A7A\u767D\u3092\u533A\u5207\u308A\u6587\u5B57\u3068\u3057\u3066\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002\u7A7A\u767D\u306E\u4EE3\u308F\u308A\u306B'',''\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002
FilePath.validateAntFileMask.doesntMatchAndSuggest=\
- ''{0}''\u306B\u8A72\u5F53\u3059\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093\u304C\u3001''{1}''\u306B\u306F\u3042\u308A\u307E\u3059\u3002\u305F\u3076\u3093\u3001\u305D\u3046\u3044\u3046\u3053\u3068\u3067\u3059\u3088\u306D?
+ ''{0}''\u306B\u8A72\u5F53\u3059\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093\u304C\u3001''{1}''\u306B\u306F\u3042\u308A\u307E\u3059\u3002
+FilePath.validateAntFileMask.portionMatchAndSuggest=\
+ ''{0}''\u306B\u8A72\u5F53\u3059\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093\u304C\u3001''{1}''\u306B\u306F\u3042\u308A\u307E\u3059\u3002
+FilePath.validateAntFileMask.portionMatchButPreviousNotMatchAndSuggest=\
+ ''{0}''\u306B\u8A72\u5F53\u3059\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093\u3002''{2}''\u306B\u306F\u3042\u308A\u307E\u305B\u3093\u304C\u3001''{1}''\u306B\u306F\u3042\u308A\u307E\u3059\u3002
+FilePath.validateAntFileMask.doesntMatchAnything=''{0}''\u306B\u8A72\u5F53\u3059\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+FilePath.validateAntFileMask.doesntMatchAnythingAndSuggest=''{0}''\u306B\u8A72\u5F53\u3059\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093\u3002''{1}''\u3067\u3055\u3048\u5B58\u5728\u3057\u307E\u305B\u3093\u3002
+
+FilePath.validateRelativePath.wildcardNotAllowed=\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9\u3092\u3053\u3053\u3067\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002
+FilePath.validateRelativePath.notFile=''{0}'' \u306F\u30D5\u30A1\u30A4\u30EB\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+FilePath.validateRelativePath.notDirectory=''{0}'' \u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+FilePath.validateRelativePath.noSuchFile=\u30D5\u30A1\u30A4\u30EB ''{0}'' \u306F\u5B58\u5728\u3057\u307E\u305B\u3093\u3002
+FilePath.validateRelativePath.noSuchDirectory=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA ''{0}'' \u306F\u5B58\u5728\u3057\u307E\u305B\u3093\u3002
Util.second={0} \u79D2
Util.minute={0} \u5206
diff --git a/core/src/main/resources/hudson/model/Hudson/threadDump.jelly b/core/src/main/resources/hudson/model/Hudson/threadDump.jelly
index 80f0001f70e9b9edc80737b94339bea6533ae5ff..183cdd9177ff6752bd99a8db98c8159bb645f806 100644
--- a/core/src/main/resources/hudson/model/Hudson/threadDump.jelly
+++ b/core/src/main/resources/hudson/model/Hudson/threadDump.jelly
@@ -30,7 +30,7 @@ THE SOFTWARE.
- Thread Dump
+ ${%Thread Dump}
diff --git a/core/src/main/resources/hudson/model/Hudson/threadDump_ja.properties b/core/src/main/resources/hudson/model/Hudson/threadDump_ja.properties
new file mode 100644
index 0000000000000000000000000000000000000000..90d72d1f31d1d2bdcf4913a89c7683fea285df70
--- /dev/null
+++ b/core/src/main/resources/hudson/model/Hudson/threadDump_ja.properties
@@ -0,0 +1,23 @@
+# The MIT License
+#
+# Copyright (c) 2004-2009, Sun Microsystems, Inc., Seiji Sogabe
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+Thread\ dump=\u30B9\u30EC\u30C3\u30C9\u30C0\u30F3\u30D7
diff --git a/core/src/main/resources/hudson/slaves/SlaveComputer/threadDump.properties b/core/src/main/resources/hudson/slaves/SlaveComputer/threadDump.properties
index 931a1322e7be62412b45bf5d8671c61881d411a1..dd6270c82a199c697ade3fb2182ff405befcc8a5 100644
--- a/core/src/main/resources/hudson/slaves/SlaveComputer/threadDump.properties
+++ b/core/src/main/resources/hudson/slaves/SlaveComputer/threadDump.properties
@@ -1 +1,22 @@
+# The MIT License
+#
+# Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNEC
+
title={0} Thread Dump
\ No newline at end of file
diff --git a/core/src/main/resources/hudson/slaves/SlaveComputer/threadDump_ja.properties b/core/src/main/resources/hudson/slaves/SlaveComputer/threadDump_ja.properties
new file mode 100644
index 0000000000000000000000000000000000000000..ca3e27f5de82844721418ba26a313ce7a26421d2
--- /dev/null
+++ b/core/src/main/resources/hudson/slaves/SlaveComputer/threadDump_ja.properties
@@ -0,0 +1,23 @@
+# The MIT License
+#
+# Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi, Seiji Sogabe
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNEC
+
+title={0} \u30B9\u30EC\u30C3\u30C9\u30C0\u30F3\u30D7
+Thread\ Dump=\u30B9\u30EC\u30C3\u30C9\u30C0\u30F3\u30D7