code=itestmsg
brief=Test Message
detail=This message is used to test the UserMessage.pm module
type=note

code=iwelcome
brief=Welcome to tsh version %s.
detail=This message tells you what version of tsh you are running.  To update to the latest version while connected to the Internet, use the `update' command.
type=note

code=enohelp
brief=There is no help topic called %s.  Enter 'help index' for a list of commands.
detail=Not all commands have detailed help yet.  If you do not find what you're looking for with the 'help' command, please consult the tsh reference manual.
type=error

code=iloadcfg
brief=Loading configuration file %s.
detail=If you did not specify a configuration file when you ran tsh, tsh chose the most recently changed configuration file in a subdirectory of the program directory.
type=note

code=ebadapc
brief=Unsupported autopair pairing system: %s.
detail=Not all pairing commands are yet supported for autopairing, but most are.  It's likely that you mistyped an autopairing command, so check your configuration file carefully.  If there is a command that you need added to the autopairing system, please contact John Chew.
type=error

code=ebadap
brief=Can't parse 'autopair %s' in %s.
detail=tsh could not understand an autopair line in its configuration file. Please consult the reference manual and correct the offending line.
type=error

code=ebadcfg
brief=Can't parse configuration line: %s.
detail=tsh could not understand a line in its configuration file. Please consult the reference manual and correct the offending line.
type=error

code=iloaddiv
brief=Loading division %s.
detail=tsh is about to try to load the named division.  If you see no further messages, then it was able to successfuly read the division's .t file.
type=note

code=enopryet
brief=No pairings yet for division %s round %s.
detail=You have asked to see pairings for a round for which tsh does not yet have any pairings information.  If you are auto-pairing, you have not yet finished entering results from the round on which this round's pairings depend.  If not, you need to enter a manual pairing command before viewing the pairings.
type=error

code=wsmtfmt
brief=config table_format is too small and has been widened.
detail=The narrowest possible width for a table number is three characters.  Please correct this in your configuration file.  In the meantime, table_format has been set to '%3s'.
type=warning

code=ebadpair
brief=#%s %s is paired to #%s %s who is paired to #%s %s.
detail=Your pairings are inconsistent and you must fix them using the 'pair' command.
type=error

code=eselpair
brief=#%s %s is paired to himself/herself.
detail=Your pairings are inconsistent and you must fix them using the 'pair' command.
type=error

code=eneedmxr
brief=You must specify config max_rounds to use this command.
detail=In order to calculate Chew Pairings, tsh needs to know who can catch up to whom before the end of the tournament, and it therefore needs to know the number of rounds in the tournament, which you must specify using the 'config max_rounds' command in your configuration file.
type=error

code=wneedpzb
brief=You must specify config prize_bands to use this command.
detail=In order to calculate Chew Pairings, tsh needs to know which final rankings are equivalent, which you should specify using the 'config prize_bands' command in your configuration file.  To say that ranks 1 and 2 are equivalent for division A, as are 3-10, use the line: config prize_bands{'A'} = [2,10].  If you don't do this, tsh will assume a value of [1] for your division: all that matters to players is whether or not they finish first.
type=error

code=ealpaird
brief=No players need to be paired.
detail=You should probably contact John Chew if you see this message. In technical terms, it means that when a pairings algorithm requested a list of players who needed to be paired, it was given an empty list.  Unless the division has fewer than two players, it's hard to imagine how this might happen.
type=error

code=eallsin
brief=All scores have been entered for division %s in round %d.
detail=If you need to edit scores that have already been entered, use the EditScores command.
type=error

code=emisss
brief=Some scores are still missing for division %s in round %d, including one for %s.
detail=You cannot enter any scores for one round before all the scores for the preceding round are entered.  You should either set the score slips for the next round aside until this round's slips are all located, or enter provisional information for this round and correct it later using EditScores.
type=error

code=enosuchp
brief=There is no player #%d.
detail=Check your typing, you probably mistyped the division name or player number.
type=error

code=enotabye
brief=%s did not have a bye in round %d.
detail=You entered a single score for a player. You may only do so if the player had a bye/forfeit, in which case the score should be the player's assigned spread adjustment for that round.  If you meant to enter a bye, you should check that you entered the player number correctly, and that the player is currently paired as a bye.  
type=error

code=ehass
brief=%s already has a score (%d).
detail=You cannot enter a score for a player who already has a score. This is to prevent you from accidentally overwriting valid information. To change an existing score, use the EditScores command.  To delete a score entirely, use the DELETEscore command.
type=error

code=emisss2
brief=Some scores are still missing for division %s in round %d, including one for %s.
detail=You cannot automatically generate pairings until the round on whose standings you are basing your pairings has a complete set of scores.  You should finish entering the necessary scores, or enter provisional information and correct it later using EditScores.
type=error

code=eapwrr
brief=Can't autopair round %d: next round to pair is %d.
detail=You can't generate the pairings for a round until the pairings for all preceding rounds are ready.  Ask for the earlier pairings first.
type=error

code=iautopr
brief=Auto-pairing.
detail=You have triggered automatic computation of pairings as set up in your configuration file.  Pairings are computed when all of the results for the source round have been entered and the pairings for a new round are requested.
type=note

code=eapfail
brief=Auto-pairing command "%s" failed.
detail=I was unable to run the requested auto-pairing command.  John Chew would be interested to learn how you managed to trigger this error message.
type=error

code=euprnop
brief=There aren't any pairings yet in division %s.
detail=You cannot delete pairings from a division which does not have them. Check which division you were trying to delete pairings from and try again.
type=error

code=euprwrr
brief=The only round that you can unpair is the last one, round %d.
detail=If you want to delete more than one round's pairings from a division, delete the last one first.  If you have a lot of deleting to do, consider editing the .t file or reverting to an earlier journalled copy.
type=error

code=euprhass
brief=You can't unpair round %d because it has a score for %s and possibly others.
detail=You must delete all scores from a round before deleting its pairings. Use the DELETEscore command or edit the .t file.
type=error

code=iuprok
brief=Deleting pairings for Division %s Round %d.
detail=You are successfully deleting the pairings you asked for.  No further action is required on your part, unless you didn't mean to delete the pairings, in which case you should recover the appropriate journalled .t file.
type=note

code=idone
brief=Done.
detail=The lengthy or verbose action that you requested has completed successfully.
type=note

code=insok
brief=Calculating Swiss pairings for division %s based on round %d standings with %d repeats allowed.
detail=I have begun calculating the Swiss pairings you asked for.
type=note

code=ensfail
brief=Swiss pairings failed.
detail=I can't compute the Swiss pairings you asked for. Try increasing the number of allowable repeats or do at least some of the pairings manually using the PAIR command.
type=error

code=enomod
brief=Error loading module %s.
detail=The action you required cannot be performed because the named Perl library module could not be loaded.  You should try using the 'update' command to make sure that you have a complete current tsh distribution before reporting the problem to John Chew.
type=error

code=ebadp
brief=No such player: %d.
detail=You mistyped either a player number or division name. Please check it and reenter your command.
type=error

code=ebadhuh
brief=No such message code: %s.
detail=You asked for an explanation of a message but entered a nonexistent code. Please check it carefully and reenter it.
type=error

code=iquit
brief=tsh quits.
detail=You asked tsh to quit, so it did.  If you want it to do anything else, run it again.
type=note

code=eacpnsb
brief=If you are sure you want to pair Round %d based on Round %d, please specify config session_breaks.
detail=It looks like you are relying on the default Chew pairing system, but the program is not sure whether you wanted to compute pairings for the upcoming round based on the first or second preceding round.  You can resolve the ambiguity by setting a value for the configuration variable 'session_breaks' in your configuration file.
type=error

code=eacpbadr
brief=Can't automatically pair round %d based on round %d.
detail=You may only pair a round based on standings from either of the two preceeding rounds.  Please enter some more scores before asking before that round's pairings again.
type=error

code=easbad12
brief=%s was supposed to go %s.
detail=tsh is keeping track of firsts and seconds (starts and replies) because you have the configuration option "track_firsts = 1" set, but not assigning firsts and seconds because you did not set "assign_firsts = 1".  In this case, tsh uses the order in which you enter scores to determine who actually played first.  Sometimes tsh can tell by counting firsts and seconds that the wrong player went first.  If this happens a lot, you should caution the players involved.
type=error

code=eacprnsb
brief=Pairings after Round %d session break must be based on Round %d.
detail=After a session break, you must use the preceding round's results.  That's the definition of a session break.  You should either finish entering the results from the last round before the session, or correct the value of the session_breaks configuration variable.
type=error

code=wevalarg
brief=EVAL arguments don't match: '%s' vs. '%s'.
detail=You should never see this message. If you do, please contact John Chew and describe to him the circumstances under which it appeared.
type=warning

code=idebug0
brief=Debugging for '%s' is now off.
detail=You will no longer see debugging messages associated with the code you gave.
type=note

code=idebug1
brief=Debugging for '%s' is now on.
detail=You will now start seeing debugging messages associated with the code you gave.
type=note

code=edeprec
brief=This command is deprecated and may not be present in the next version of tsh. Use %s instead.
detail=If you rely on this command and do not wish to see it deleted in the next version of tsh, contact John Chew right away.
type=error

code=eifneed4
brief=%d is not enough players, you need at least four.
detail=The InitFontes algorithm assigns players to round robin groups of four, so you can't use it if you don't have at least four players.  Either add more players or use the RoundRobin command.
type=error

code=eifhasp
brief=You already have pairings in this division.
detail=It only makes sense to use the InitFontes algorithm at the beginning of a tournament.  If you have mistakenly added different pairings, use the UnPairRound command to remove them.  
type=error

code=iifok
brief=Calculating initial pre-Fontes pairings for Division %s.
detail=I have begun calculating the pre-Fontes pairings you asked for.
type=note

code=eifnot3
brief=The only implemented number of rounds so far is 3, not %d.
detail=I only ever use this command for three rounds, and can't think of a time when one would want to use it for fewer.  If you can, send me e-mail.  If you want just one round's worth, use the NewSwiss command.
type=error

code=ievtname
brief=Event loaded: %s.
detail=If this is not the event you wanted to load, quit tsh and load a different one.  If you do not specify an event to load, tsh will look for the most recently changed configuration file.
type=note

code=irandok
brief=Adding random scores to Division %s.
detail=I am adding the random scores you asked for.  If you need to delete them, you should either revert to an older journalled copy of the .t file, or edit the .t file by hand.
type=note

code=erotocfg
brief=No roto file defined.
detail=You must set "config rotofile" before using the ROTO command.  That option specifies the location of the rotisserie team file, and must be read before the command can list standings.
type=error

code=erotoope
brief=Can't open %s: %s
detail=I was unable to open the rotofile that you specified.  Please check that the filename is specified correctly in your configuration file, that the file exists in your event folder, and is readable.
type=error

code=erotoown
brief=Team %d has two owners: %s and %s.
detail=There must only be one "owner" line in each team.  You either ran two teams together, or listed more than one owner.  Please fix the rotofile.
type=error

code=erotounp
brief=Team %d has an unknown player: %s.
detail=Player names must be spelled exactly as in the ".t" file.  Please check the spelling of this player and correct it.
type=error

code=erotodup
brief=Team %d has a duplicate player: %s.
detail=Each player can appear on a team only once.  Please remove the duplicate entry.
type=error

code=erotosyn
brief=Can't make sense of: %s
detail=rotofile lines must be blank or begin with the word "owner" or "player".  Please correct this line.
type=error

code=erotosiz
brief=%s has %d player(s), not %d.
detail=All teams should have the same number of players, but I have just noticed that two consecutive teams have differing numbers of players.  Please correct this.
type=error

code=errpartp
brief=Can't add round robin pairings: last round is partly paired.
detail=If you are sure that you want to add round robin pairings to this division, either complete the last round's pairings with another command, or delete them with UnPairRound.
type=error

code=eprbadr
brief=The next round of pairings that player #%d needs is %d, not %d.
detail=You can't leave gaps in the pairing schedule. If you're not sure why you're getting this message, it's possible that your tournament data doesn't read the way you think it does.  Try using the ShowscoreCard command to look at the player in question, or the ShowPairings command to look at all the pairings for the round.  If you're still not sure why you're seeing this message, please send a copy of your .t file to John Chew.
type=error

code=iprwasp
brief=%s used to be paired to %s.
detail=You've asked for the pairings for the first named player to be changed, and I am telling you to whom they used to be paired in case you want to undo the change.
type=note

