Thanks => <<END,
MyLink -- a free Uplink clone

Copyright (C) 2003 Ingo Blechschmidt <iblech\@web.de>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
END

ok      => "Ok",
back    => "Back",
GQs     => sub { $_[0] == 1 ? "-0- GQ" : "-0- GQs" },
GHz     => "-0- GHz",
"GQs/s" => sub { $_[0] == 1 ? "-0- GQ/s" : "-0- GQs/s" },
Credits => "-0-c",
"n/a"   => "n/a",
s       => "-0-s",

NewUser => <<END,
Welcome, hacker!

By filling out the above form, you register as a freelance MyLink hacker.
END

Help => <<END,
Configuration: Click with the right mouse button on the GNU
Login: Click with the left mouse button on the GNU
Register: Click with the middle mouse button on the GNU
END

GameServerURL  => "Game server URL:",
Language       => "Language:",
GatewayIP      => "Gateway IP:",
Username       => "Username:",
Password       => "Password:",
RegisterGWIP   => "Desired Gateway IP:",
Realname       => "Realname:",
DateOfBirth    => "Date of birth:",
MaritalStatus  => "Marital status:",
PersonalStatus => "Personal status:",
OrderGateway   => "Order Gateway",

ErrNoServerURL  => "No game server URL specified!",
ErrNoGatewayIP  => "No Gateway IP specified!",
ErrNoUsername   => "No username specified!",
ErrNoPassword   => "No password specified!",
ErrNotReachable => "Game server not reachable or not a MyLink game server!",
ErrDifferentVer => "Game server version (-0-) differs from our version (-1-)",
ErrIPNotFound   => "IP not found.",
ErrIPInUse      => "IP already in use.",
ErrNotAGateway  => "Not a Gateway.",
ErrGatewayDown  => <<END,
Couldn't connect to your Gateway.
Possible reasons: You have been arrested for hacking into computer systems or
your gateway is destroyed.
Try again later.
END
ErrFillCorrectly => "Fill in all fields correctly!",
RegCompleted     => "Registration completed, connecting to your Gateway...",

NewGW    => "Welcome at your new Gateway, a -0-!",
GWBack   => "Welcome back at your Gateway!",
MainMenu => "Main menu",

ErrEncryptedPrograms_Title => "Encrypted",
ErrEncryptedPrograms_Text  => "Can't run encrypted programs.",

InvalidUserPass => "Invalid username/password-combination!",

ConnAnalysis_Localhost  => "Localhost:\n-0-\n-1-",
ConnAnalysis_Remotehost => "Remote host:\n-0-\n-1-",
ConnAnalysis_Firewall   => "Firewall",

Bank_GQsUsed       => "GQs used:",
Bank_GQsFree       => "GQs free:",
Bank_GQsTotal      => "GQs total:",
Bank_FileEncrypted => "-0- (level -1-)",
Bank_FileDecrypted => "-0-",

Status_ReallyCPWD    => "Really change password?",
Status_EnterOPWD     => "Enter your old password:",
Status_IncorrectOPWD => "Incorrect old password.",
Status_EnterNPWD     => "Enter your new password:",
Status_ReEnterNPWD   => "Enter your new password again:",
Status_PWDChanged    => "Password changed.",
Status_PWDsDiffer    => "Passwords do not match.",
Status_Rating        => "Rating:",
Status_Credits       => "Credits:",
Status_Gateway       => "Gateway:",
Status_CPU           => "CPU power:",
Status_Bandwidth     => "Bandwidth:",
Status_Memory        => "Memory:",
Status_Grade         => "Grade -0- agent",
Status_CPWD          => "Change password",

Mail_From    => "From:",
Mail_To      => "To:",
Mail_Sent    => "Sent:",
Mail_Time    => "Time:",
Mail_Subject => "Subject:",
Mail_Refund  => "Refund:",
Mail_Links   => "Additional links included:",
Mail_Close   => "Close",
Mail_Reply   => "Reply",
Mail_Delete  => "Delete",
Mail_Abandon => "Abandon",
Mail_Really  => "Really!",
Mail_Send    => "Send",
Mail_Attach  => "Attach",
Mail_Re      => "Re: -0-",
Mail_File    => "<File: -0->",
Mail_Abandon_Subject => "Your recent failure",
Mail_Abandon_Text    => <<END,
Failure isn't tolerated by MyLink Corporation.
So, we decided to decrease your MyLink rating.
Let this be a lession to you.
END
Mail_Completed       => <<END,
Hello -0-,

I have completed the mission.
Please send payment to my account ASAP.

Additional requested data:
END
Mail_NotDone         => <<END,
You haven't completed the mission yet.

Payment won't take place until we've determined that you succeeded.
END
Mail_Yeah            => <<END,
Gratulations for completing the mission.

Credits transferred: -0-
END

GOVSystem => <<END,
This computer system belongs to the government.

Break-ins are punished with immediate arrest.

Accounts on this system:
END

SearchDatabase       => "Search database",
EnterPersonName      => "Enter name here",
Search               => "Search",
RecordNotFound_Title => "Not found",
RecordNotFound_Text  => "No record for -0- found.",
DB_Done              => "Done",
DB_Add               => "Add",

ADB_NoQualifications    => "No qualifications",
ADB_ClearQualifications => "Clear qualifications",

AdminMenu         => "Administration",
Admin_FileServer  => "File server",
Admin_EditSites   => "Edit sites",
Admin_ViewLogs    => "View logs",
Admin_ViewRecords => "View records",
Admin_ViewLinks   => "View links",
Admin_Wallet      => "Wallet",
Admin_Security    => "Security",
Admin_Console     => "Console",
Admin_LogOut      => "Log Out",

SaveChanges     => "Save changes",
Timestamp       => "Timestamp",
Filename        => "Filename",
Size            => "Size",
EncryptionLevel => "Encryption level",
Level           => "Level -0-",

Admin_LogOut_Really => "Really?",
Admin_LogOut_Out    => "Logged out.",

Admin_Logs_Message => "Log message",

Admin_Shell_NoAccessFromConsole => "(not accessible from console)",
Admin_Shell_NoDeleteFromConsole => 'Error: "-0-": deleting not accessible from console',
Admin_Shell_DirNotFound         => 'Error: "-0-": directory not found.',
Admin_Shell_PrgNotFound         => 'Error: "-0-": program not found.',
Admin_Shell_NotFound            => 'Error: "-0-": command or file not found.',
Admin_Shell_Encrypted           => 'Error: "-0-": program encrypted.',
Admin_Shell_StartingPrg         => 'Starting program "-0-"... ',
Admin_Shell_Done                => "done.",
Admin_Shell_Down1               => "Shutting down... ",
Admin_Shell_Down2               => "done.",
Admin_Shell_Down3               => "Rebooting...",
Admin_Shell_Down1nok            => "Loading kernel.dat... ",
Admin_Shell_Down2nok            => "not found.",
Admin_Shell_Down3nok            => "Critical system error",
Admin_Shell_Down1ok             => "Loading kernel.dat... ",
Admin_Shell_Down2ok             => "done.",
Admin_Shell_Down3ok             => "Loading system.dat... ",
Admin_Shell_Down4ok             => "done.",
Admin_Shell_Down5ok             => "Loading network.dat... ",
Admin_Shell_Down6ok             => "done.",
Admin_Shell_Down7ok             => "Rebooted.",
Admin_Shell_Deleting            => 'Deleting "-0-"... ',
Admin_Shell_FinishedDeleting    => 'Finished deleting "-0-".',
Admin_Shell_Help_Command        => "Command",
Admin_Shell_Help_Description    => "Description",
Admin_Shell_Help_help           => "help",
Admin_Shell_Help_helpHelp       => "Show this help",
Admin_Shell_Help_cd             => "cd",
Admin_Shell_Help_cdHelp         => "Change current working directory (CWD)",
Admin_Shell_Help_dir            => "dir or ls",
Admin_Shell_Help_dirHelp        => "List contents of the CWD",
Admin_Shell_Help_delete         => "delete",
Admin_Shell_Help_deleteHelp     => "Delete all files of the CWD",
Admin_Shell_Help_exit           => "exit",
Admin_Shell_Help_exitHelp       => "Exit administrator console",
Admin_Shell_Welcome             => <<END,
Welcome at the administrator console!

Loading...

END

AccessTerminal_Forbidden   => "No public logins allowed.",
PersonalComputer_Forbidden => "No server listening on network interface.",

Bank_AboutUs      => "About us",
Bank_CreateNew    => "Create new account",
Bank_ManageOld    => "Manage existing account",
Bank_AccInfo      => "Account information",
Bank_CreditsTotal => "Balance:",
Bank_Credits      => "Credits:",
Bank_Loan         => "Loan:",
Bank_Transfer     => "Transfer credits",
Bank_FromAcc      => "From (account):",
Bank_FromBankIP   => "From (bank IP):",
Bank_ToAcc        => "To (account):",
Bank_ToBankIP     => "To (bank IP):",
Bank_Amount       => "Amount:",
Bank_IPNotFound_Title        => "IP not found",
Bank_IPNotFound_Text         => "Didn't found IP -0-.",
Bank_NaN_Title               => "Not a valid number",
Bank_NaN_Text                => "-0- is not a valid number of credits.",
Bank_RemoteNotABank_Title    => "Remote system type mismatch",
Bank_RemoteNotABank_Text     => "Remote system -0- is not a bank computer system.",
Bank_RemoteAccNotFound_Title => "Remote account not found",
Bank_RemoteAccNotFound_Text  => "-0- doesn't exist on -1-.",
Bank_InsuffCredits_Title     => "Insufficient credits available",
Bank_InsuffCredits_Text      => "You don't have -0- on your account.",
Bank_TransferOK_Title        => "Success",
Bank_TransferOK_Text         => "-0- were successfully transferred.",
Bank_TransferSend            => "Send",
Bank_ManageLoan              => "Manage loan",
Bank_CurLoan                 => "Current loan:",
Bank_MaxLoan                 => "Maximum loan:",
Bank_IncLoan                 => "Increase loan",
Bank_DecLoan                 => "Decrease loan",
Bank_NoNewLoan_Title         => "New loan declined",
Bank_NoNewLoan_Text          => "Sorry, but we had to decline your application to a new loan.",
Bank_NewLoan0_Text           => "You already have no loan.",
Bank_NewLoanDebts_Text       => "Sorry, but we had to decline your application to a new loan because if we didn't, you would have debts.",
Bank_ViewStatement           => "View statement",
Bank_DesiredUsername         => "Desired username:",
Bank_RepeatPassword          => "Repeat password:",
Bank_ErrSpecifyBoth          => "You have to specify both a username and a password.",
Bank_ErrRepeated             => "Passwords don't match.",
Bank_ErrAlreadyExists        => "-0- already exists on this system.",
Bank_Proceed                 => "Registration completed, proceed to your new account",

Central_Hello    => <<END,
Welcome at this Central Mainframe.

Your IP -0- has been logged.

Disabling one or more of our security systems triggers immediate tracing
and will result in informing the police.
END
Central_Closed   => <<END,
Connection closed

You don't belong to -0-.
END
Central_PWDAuth  => "Password authentification",
Central_EllAuth  => "Elliptic curve cypher",
Central_VoiAuth  => "Voice-print analysis",
Central_Granted  => "Access granted",
Central_Denied   => "Access denied",
Proceed          => "Proceed",
Central_VoiRoot  => <<END,
Hello,
I'm the system administrator.
My voice is my passport.
Verify me.
END
Central_VoiUndef => "(not known)",
Central_VoiOk    => "Verified",
Central_VoiNok   => "Verification failed",

Dialing                    => "Dialing...",
HostUnreachable            => "Host not reachable",
ConnTerminatedByR          => "Connection terminated by remote host.",
ConnTerminatedByGW         => "Connection terminated by Gateway.",
ActiveTrace_Caught_Subject => "You caught hacking into one of our computer systems",
ActiveTrace_Caught_Text    => <<END,
I'm the tracedaemon of -0- (-1-).

You caught hacking into one of our computer systems.

The police got informed of what happened.
END

GCD_NoConvinctions  => "No previous convinctions known",
GCD_AuthArrest      => "Authorize arrest",
GCD_ArrestNok_Title => "Arrest not justified",
GCD_ArrestNok_Text  => "To justify arresting somebody the person has to have commited at least three crimes.",
GCD_ArrestOk_Title  => "Arrest granted",
GCD_ArrestOk_Text   => "-0- will be arrested soon.",
GCD_ClearHistory    => "Clear criminal record",

Webserver => "Webserver",

Voice_Ringing => "Ringing...",
Voice_Open    => "Voice channel opened.",
Voice_Close   => "Voice channel closed.",

Player_Unfair   => <<END,
It's unfair to try hacking other users who aren't logged in.
END
Player_Feedback => <<END,
Error:

Feedback loop detected.
END

Wallet_KnownHosts => "Known hosts",

PAS       => "Public Access Server",
PAS_Hello => <<END,
Welcome at this Public Access Server.

What you'll find here:
END

LIS_Logon => "Logon",
LIS_Login => "Login",

NewUser_Welcome_Subject => "Welcome -0-",
NewUser_Welcome_Text    => <<END,
Welcome -0-.

You are now an inofficial hacker of the MyLink Corporation.

You'll have to pass the Test Mission first.
END

Machines_Orwell_Subject     => "Orwell_Virus report",
Machines_Orwell_Text        => "The following changes were made to -0-:",
Machines_Orwell_NewFile     => "A new file was created, with filename -0-.",
Machines_Orwell_DelFile     => "A file was deleted, with filename -0-.",
Machines_Orwell_FileMod     => "A file was modified (encrypted or decrypted), with filename -0-.",
Machines_Orwell_NewRecord   => "A record was created, with username -0- and password -1-.",
Machines_Orwell_DelRecord   => "A record was deleted, old username -0-.",
Machines_Orwell_RecordMod   => "A record was modified, with username -0- and new password -1-.",
Machines_Orwell_SiteMod     => "A site was modified, with sitename -0-.",
Machines_Orwell_Down        => "The computer gone down.",
Machines_Orwell_ReUp        => "The computer is up again.",
Machines_Membership_Subject => "Hourly membership fee of -0-",
Machines_Membership_Text    => <<END,
The hourly membership (-0-) was deducted from your bank account.

We wish you a prosperous next hour!
END
Machines_Loan_Subject       => "Your loan",
Machines_Loan_Text          => <<END,
You haven't paid off your loan, so we deducted -0- from your bank account.
END

Disconnect => "Disconnect",
Connect    => "Connect",

Map_ErrNoDest_Title => "No destination selected",
Map_ErrNoDest_Text  => "You have to select a destination to connect to.",
Map_Load            => "Load",
Map_Save            => "Save",
Map_Cancel          => "Cancel",

SecurityLevel       => "Security level:",
CommitChanges       => "Commit changes",
Filter              => "Filter",

PermDenied      => "Permission denied",
Err_SecLevelMod => "Your security level doesn't allow you to modify files.",
Err_SecLevelDel => "Your security level doesn't allow you to delete files.",
Err_SecLevelNew => "Your security level doesn't allow you to create files.",

Programs_FileAlreadyEncrypted_Title => "File already encrypted",
Programs_FileAlreadyEncrypted_Text  => "-0- is already encrypted.",
Programs_FileAlreadyDecrypted_Title => "File already Decrypted",
Programs_FileAlreadyDecrypted_Text  => "-0- is already decrypted.",
Programs_TooOldDecrypter_Title      => "Too old version of Decrypter",
Programs_TooOldDecrypter_Text       => "This version of the Decrypter can't decrypt files with an encryption level of -0-.",
Programs_MemoryFull_Title           => "Memory bank full",
Programs_MemoryFull_Text            => "Couldn't allocate any free memory.",
Programs_TT_Detecting               => "Detecting...",
Programs_TT_NoTraces                => "No traces detected",
Programs_TT_Remaining               => "Remaining: -0-",
Programs_TT_PerCent                 => "Per cent traced: 0-%",
Programs_IP_Enter                   => "Enter IP here",
Programs_IP_Lookup                  => "Lookup",
Programs_LM_New                     => "New log message here",
Programs_V_RecordingReady           => "Recording ready",
Programs_V_Recording                => "Recording voice sample...",
Programs_V_Analyzing                => "Analyzing voice pattern...",
Programs_V_ReproducingReady         => "Reproducing ready",
Programs_V_Reproducing              => "Reproducing voice sample...",
Programs_V_RecAndRepReady           => "Recording and reproducing ready",
Programs_V_NoVConnection            => "No voice connection detected",
Programs_R_Create                   => "Create",
VoiceAuth                           => "Voice auth:",
Programs_F_Started                  => "Firewall started",
Programs_F_UnAuthBy                 => "Unauthorized access by -0-",
Programs_F_UnAuthEnd                => "Unauthorized access stopped",
Programs_V_NfC_Title                => "Not ran from console",
Programs_V_NfC_Text                 => "Not ran from console.",
NoAccessByFirewall                  => "Access blocked by Firewall.",

ML_News        => "News",
ML_MissionList => "Mission list",
ML_SWUpgrades  => "Software upgrades",
ML_HWUpgrades  => "Hardware upgrades",
ML_GWUpgrades  => "Gateway upgrades",
ML_Rankings    => "Rankings",
ML_News_Title  => "Title",
ML_Rankings_Rank     => "Rank",
ML_Rankings_Unixname => "Unixname",
ML_Rankings_UR       => "MyLink rating",
ML_Rankings_Status   => "Status",
ML_Rankings_InJail   => "In jail/deceased",
ML_Rankings_Active   => "Active",
ML_Missions_RatingNeeded => "Rating needed",
ML_Missions_Subject      => "Subject",
ML_Costs                 => "Costs",
ML_Buy                   => "Buy",
ML_Missions_Accept       => "Accept",
ML_Missions_TooBad       => "(too hard)",
ML_GW_Model              => "Model",
ML_GW_ErrMoreCPU         => "You have more CPU power than the Gateway model you selected can deal with.",
ML_GW_ErrMoreModem       => "You have more modem bandwidth than the Gateway model you selected supports.",
ML_GW_ErrMoreMemory      => "You have more local memory banks installed than the Gateway model you selected supports.",
ML_GW_ErrMoreSecurity    => "You have more security tools installed than the Gateway model you selected supports.",
ML_GW_ErrTitle           => "Space problems",
ML_HW_NeS_Text           => "Your Gateway does not support this item.",
ML_GW_Success_Subject    => "Successfully completed installation",
ML_GW_Success_Text       => <<END,
We successfully connected your new gateway, a -0-, with the Internet.
As of the moment of your re-login, we'll demolish your old gateway.
END
ML_NeC_Title => "Not enough credits",
ML_NeC_Text  => "You don't have enough credits to buy the selected item.",
ML_GW_MaxCapacity => "Maximum storage capacity:",
ML_GW_MaxModem    => "Maximum modem bandwidth:",
ML_GW_MaxCPU      => "Maximum CPU power:",
ML_GW_MaxSecurity => "Maximum number of security systems:",
ML_SW_Name        => "Name",
ML_SW_NoMem_Title => "Local storage capacity exceeded",
ML_SW_NoMem_Text  => "Your local storage capacity is exceeded.",

ML_Powers_New_Mem   => "This item adds a memory bank capable of storing -0- to your Gateway.",
ML_Powers_New_Modem => "This item adds a modem with a bandwidth of -0- to your Gateway.",
ML_Powers_New_CPU   => "This item adds a -0- processor to your Gateway.",
ML_Powers_New_File  => "This item adds -0- to your local memory bank.",
ML_Powers_Old_Mem   => "This item added a memory bank capable of storing -0- to your Gateway.",
ML_Powers_Old_Modem => "This item added a modem with a bandwidth of -0- to your Gateway.",
ML_Powers_Old_CPU   => "This item added a -0- processor to your Gateway.",
ML_Powers_Old_File  => "This item added -0- to your local memory bank.",
ML_HW_Success_Text => <<END,
We successfully completed the installation of the following hardware into your Gateway:

-0- (-1-)

You don't have to re-login inorder to use the new hardware.
END
ML_HW_Fail_Subject => "Failed installing new hardware",
ML_HW_Fail_Text    => <<END,
Failed to install the following hardware to your Gateway:

-0- (-1-)

Reason: Your Gateway does not have enough space for this item.
Your money has been refunded.
END
ML_HW_AddSent_Subject => "Installing new hardware",
ML_HW_AddSent_Text    => <<END,
A staff member was sent to add new hardware to your Gateway:

-0- (-1-)
END
ML_HW_RemoveHW     => "Remove hardware",
ML_HW_BuyedFor     => "Buyed for",
ML_HW_Busy_Title   => "Memory bank busy",
ML_HW_Busy_Text    => "Memory bank is currently in use.",
ML_HW_DelSent_Subject => "Removing hardware",
ML_HW_DelSent_Text    => <<END,
A staff member was sent to remove new hardware of your Gateway:

-0-
END
ML_HW_FinDel_Subject => "Removing hardware successfully finished",
ML_HW_FinDel_Text    => <<END,
The following hardware was removed from your Gateway:

-0-
END
del => "del",
ML_HW_PrevInstalled => "Remove previously installed hardware",
