# Copyright 2008 the original author or authors.
#
# Licensed 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.

#-------------------------------------------------------------------------------
# Mapping of reply code -> reply text
#-------------------------------------------------------------------------------
110=Restart marker reply.
120=Service ready in nnn minutes.
125=Data connection already open; transfer starting.
150=File status okay; about to open data connection.
200=Command okay.
202=Command not implemented, superfluous at this site.
211={0}.
212={0}.
213={0}.
214={0}.
215={0} system type.
220=Service ready for new user. (MockFtpServer 3.1.0; see http://mockftpserver.org)
221=Service closing control connection.
225=Data connection open; no transfer in progress.
226=Closing data connection. Requested file action successful.
226.WithFilename=Closing data connection. Requested file action successful. Filename={0}.
227=Entering Passive Mode {0}.
229=Entering Extended Passive Mode (|||{0}|)
230=User logged in, proceed.
250=Requested file action okay, completed.
257={0} created.
331=User name okay, need password.
332=Need account for login.
350=Requested file action pending further information.
421=Service not available, closing control connection.
#    This may be a reply to any command if the service knows it must shut down.
425=Can't open data connection.
426=Connection closed; transfer aborted.
450=Requested file action not taken.
#   File unavailable (e.g., file busy).
451=Requested action aborted: local error in processing.
452=Requested action not taken.
#    Insufficient storage space in system.
500=Syntax error, command unrecognized.
#    This may include errors such as command line too long.
501=Syntax error in parameters or arguments.
502=Command not implemented: {0}.
503=Bad sequence of commands.
504=Command not implemented for that parameter.
530=Not logged in.
532=Need account for storing files.
550=File not found or not accessible: {0}.
#    File unavailable (e.g., file not found, no access).
551=Requested action aborted: page type unknown.
552=Requested file action aborted.
#    Exceeded storage allocation (for current directory or dataset).
553=Requested action not taken for {0}
#    File name not allowed.

#-------------------------------------------------------------------------------
# FTP Command-Specific Reply Messages
#-------------------------------------------------------------------------------
abor=ABOR completed.
acct=ACCT completed for {0}.
allo=ALLO completed.
appe=Created or appended to file {0}.
cdup=CDUP completed. New directory is {0}.
cwd=CWD completed. New directory is {0}.
dele="{0}" deleted.
eprt=EPRT completed.
epsv=Entering Extended Passive Mode (|||{0}|)
help={0}.
help.noHelpTextDefined=No help text has been defined for [{0}]
mkd="{0}" created.
mode=MODE completed.
noop=NOOP completed.
pass=User logged in, proceed.
pass.needAccount=Need account for login.
pass.loginFailed=Not logged in.
pasv=({0})
port=PORT completed.
pwd="{0}" is current directory.
quit=Service closing control connection.
rein=REIN completed.
rest=REST completed.
rmd="{0}" removed.
rnfr=Requested file action pending further information.
rnto=Rename from {0} to {1} completed.
site=SITE completed.
size={0}
smnt=SMNT completed.
stat={0}.
stou=Created file {0}.
stor=Created file {0}.
stru=STRU completed.
syst="{0}"
type=TYPE completed.
user.loggedIn=User logged in, proceed.
user.needPassword=User name okay, need password.

#-------------------------------------------------------------------------------
# FileSystem Messages
#-------------------------------------------------------------------------------
filesystem.alreadyExists=The path [{0}] already exists.
filesystem.parentDirectoryDoesNotExist=The parent directory [{0}] does not exist.
filesystem.doesNotExist=[{0}] does not exist.
filesystem.isDirectory=[{0}] is a directory.
filesystem.isFile=[{0}] is a file.
filesystem.isNotADirectory=[{0}] is not a directory or does not exist.
filesystem.isNotAFile=[{0}] is not a file or does not exist.
filesystem.cannotRead=The current user does not have read permission for [{0}].
filesystem.cannotWrite=The current user does not have write permission for [{0}].
filesystem.cannotExecute=The current user does not have execute permission for [{0}].
filesystem.directoryIsNotEmpty=The [{0}] directory is not empty.
filesystem.renameFailed=The rename to [{0}] has failed.
filesystem.pathIsNotValid=The path [{0}] is not valid.
filesystem.currentDirectoryNotSet=The current directory has not been set.

#-------------------------------------------------------------------------------
# Other Common Messages
#-------------------------------------------------------------------------------
login.userAccountNotValid=UserAccount missing or invalid for user [{0}]
login.homeDirectoryNotValid=The homeDirectory configured for user [{0}] is not a valid directory: [{1}]

internalError=Internal error: {0} {1}