/*
 Translation rules:

  1. Do not change leading spaces in the string, always leave unchanged
     any trailing space (except as defined in the comment).

  2. Do not change special characters (e.g. '\n' and '%..') in the string.

  3. Do not change upper case characters to lower case and vice versa.

*/

/* User choices
  Every word in the next 4 strings should begin with a different upper case
  letter.
*/

#define MYesNo        "_Yes_No"
#define MYesNoAll     "_Yes_No_All"
#define MYesNoAllRenQ "_Yes_No_All_Rename_Quit"
#define MContinueQuit "_Continue_Quit"

#define MCmpYesStr    "Yes"

#define MCopyright "\nRAR 2.04     Copyright (c) 1993-98 Eugene Roshal     19 March 1998"
#define MRegTo     "\nRegistered to %s\n"
#define MShare     "\nShareware version         Type RAR -? for help\n"

#define MUCopyright "\nUNRAR 2.04.1.mfx freeware     Copyright (c) 1993-98 Eugene Roshal\n"

#define MSFXTitle1 "\nRAR self-extracting archive. Version 2.04"
#define MSFXTitle2 "\nExecute '%s -?' for help\n"

#define MMonthJan  "Jan"
#define MMonthFeb  "Feb"
#define MMonthMar  "Mar"
#define MMonthApr  "Apr"
#define MMonthMay  "May"
#define MMonthJun  "Jun"
#define MMonthJul  "Jul"
#define MMonthAug  "Aug"
#define MMonthSep  "Sep"
#define MMonthOct  "Oct"
#define MMonthNov  "Nov"
#define MMonthDec  "Dec"

#define MCHelp1  "\nUsage:     RAR <command> -<switch 1> -<switch N> <archive> <files...>"
#define MCHelp2  "\n               <@listfiles...> <path_to_extract\\>"
#define MCHelp3  "\n           Specify empty listfile name to read names from stdin\n"
#define MCHelp4  "\n<Commands>"
#define MCHelp5  "\n  a     Add files to archive          u     Update files in archive"
#define MCHelp6  "\n  f     Freshen files in archive      m[f]  Move to archive [files only]"
#define MCHelp7  "\n  x     Extract files with full path  e     Extract files to current directory"
#define MCHelp8  "\n  d     Delete files from archive     cw    Write archive comment to file"
#define MCHelp9  "\n  t     Test archive files            p     Print file to stdout"
#define MCHelp10 "\n  c     Add archive comment           cf    Add files comment"
#define MCHelp11 "\n  k     Lock archive                  s     Convert archive to SFX"
#define MCHelp12 "\n  r     Repair archive                rr[N] Add data recovery record"
#define MCHelp13 "\n  l[t]  List archive [technical]      v[t]  Verbosely list archive [technical]"
#define MCHelp15 "\n\n<Switches>"
#define MCHelp16 "\n  rr[N] Add data recovery record      mm[f] Multimedia compression [force]"
#define MCHelp17 "\n  o+    Overwrite existing files      o-    Do not overwrite existing files"
#define MCHelp18 "\n  y     Assume Yes on all queries     sfx   Create SFX archives"
#define MCHelp19 "\n  cl    Convert names to lower case   cu    Convert names to upper case"
#define MCHelp20 "\n  f     Freshen files                 u     Update files"
#define MCHelp21 "\n  c-    Disable comments show         ed    Do not add empty directories"
#define MCHelp22 "\n  ep    Exclude paths from names      ep1   Exclude base dir from names"
#define MCHelp23 "\n  tk    Keep original archive time    tl    Set archive time to latest file"
#define MCHelp24 "\n  s[e,<N>]      Create solid archive"
#define MCHelp25 "\n  s-            Disable solid archiving"
#define MCHelp26 "\n  r             Recurse subdirectories"
#define MCHelp27 "\n  r0            Recurse subdirectories for wildcard names only"
#define MCHelp28 "\n  cfg-          Disable read configuration"
#define MCHelp29 "\n  md<size>      Set dictionary size in Kb (64,128,256,512,1024 or A,B,C,D,E)"
#define MCHelp30 "\n  z<file>       Read archive comment from file"
#define MCHelp31 "\n  x<file>       Exclude specified file"
#define MCHelp32 "\n  x@<list>      Exclude files in specified list file"
#define MCHelp33 "\n  x@            Read file names to exclude from stdin"
#define MCHelp34 "\n  v             Create volumes with size autodetection"
#define MCHelp35 "\n  v<size>[k,b]  Create volumes with size=<size>*1000 [*1024, *1]"
#define MCHelp36 "\n  p<password>   Set password"
#define MCHelp37 "\n  p-            Do not query password"
#define MCHelp38 "\n  kb            Keep broken extracted files"
#define MCHelp39 "\n  w<path>       Assign work directory"
#define MCHelp40 "\n  m<0..5>       Set compression level (0-store...3-default...5-maximal)"
#define MCHelp41 "\n  e<attr>       Set file exclude attributes"
#define MCHelp42 "\n  av            Put authenticity verification (registered versions only)"
#define MCHelp43 "\n  av-           Disable AV check"
#define MCHelp44 "\n  ds            Disable name sort for solid archive"
#define MCHelp45 "\n  ilog          Log errors to file (registered versions only)"
#define MCHelp46 "\n  isnd          Enable sound"
#define MCHelp47 "\n  ierr          Send all messages to stderr"
#define MCHelp48 "\n  inul          Disable all messages"
#define MCHelp49 "\n  ow            Save file owner and group"
#define MCHelp50 "\n  ol            Save symbolic links as the link instead of the file"
#define MCHelp51 "\n  ri<P>[:<S>]   Set priority (0-default,1-min..15-max) and sleep time in ms"
#define MCHelp52 "\n  ac            Clear Archive attribute after compression"
#define MCHelp53 "\n  ao            Add files with Archive attribute set"

#define MUCHelp1  "\nUsage:     UNRAR <command> -<switch 1> -<switch N> <archive> <files...>"
#define MUCHelp2  "\n                 <@listfiles...> <path_to_extract\\>"
#define MUCHelp3  "\n           Specify empty listfile name to read names from stdin\n"

#define MUCHelp4  "\n<Commands>"
#define MUCHelp5  "\n  x     Extract with full path        e    Extract to current directory"
#define MUCHelp6  "\n  t     Test archive files            p    Print file to stdout"
#define MUCHelp7  "\n  l     List contents of archive      v    Verbosely list contents of archive"

#define MUCHelp8  "\n\n<Switches>"
#define MUCHelp9  "\n  r             Recurse subdirectories       y     Assume Yes on all queries"
#define MUCHelp10 "\n  o+            Overwrite existing files     o-    Do not overwrite files"
#define MUCHelp11 "\n  f             Freshen files                u     Update files"
#define MUCHelp12 "\n  v             List all volumes             av-   Disable AV check"

#define MUFCHelp12 "\n  v             List all volumes             cm    Do not apply umask"

#define MUCHelp13 "\n  c-            Disable comments show        cl    Make names lower case"
#define MUCHelp14 "\n  x<file>       Exclude specified file       cu    Make names upper case"
#define MUCHelp15 "\n  x@<list>      Exclude files in list file"
#define MUCHelp16 "\n  x@            Read names to exclude from stdin"
#define MUCHelp17 "\n  p<password>   Set password"
#define MUCHelp18 "\n  p-            Do not query password"
#define MUCHelp19 "\n  kb            Keep broken extracted files"
#define MUCHelp20 "\n  ierr          Send all messages to stderr"
#define MUCHelp21 "\n  inul          Disable all messages"

#define MSCHelp1  "\nUsage:     %s <command> -<switch 1> -<switch N> <files...>"

#define MSCHelp2  "\n\n<Commands>"
#define MSCHelp3  "\n  x       Extract with full path      e    Extract to current directory"
#define MSCHelp4  "\n  t       Test archive files          p    Print file to stdout"
#define MSCHelp5  "\n  l       List contents of archive    v    Verbosely list contents of archive"

#define MSCHelp6  "\n\n<Switches>"
#define MSCHelp7  "\n  o+      Overwrite existing files    o-   Do not overwrite existing files"
#define MSCHelp8  "\n  f       Freshen files               u    Update files"
#define MSCHelp9  "\n  v       List all volumes            av-  Disable AV check"
#define MSCHelp10 "\n  p<psw>  Set password                p-   Do not query password"
#define MSCHelp11 "\n  x<file> Exclude specified file      c-   Disable comments show"
#define MSCHelp12 "\n  y       Assume Yes on all queries   kb   Keep broken extracted files"


#define MBadArc          "\nERROR: Bad archive %s\n"

#define MOutExtrMem      "Not enough memory for extraction"

#define MAskPsw      "Enter password"
#define MReAskPsw    "Reenter password"
#define MReAskPsw1   "\nReenter password: "
#define MFor         " for "

#define MNotMatchPsw "\nERROR: Passwords do not match\n"

#define MRegOutMem  "\nERROR: Not enough memory for registration\n"

#define MAskAVText  "Please enter your AV text"
#define MAskRegCode "Please enter your registration code"

#define MRegFailed  "Registration failed"
#define MRegThanks  "Thank you for support"

#define MErrBreak      "User break"
#define MErrWrite      "Write error"
#define MErrRead       "Read error"
#define MErrSeek       "Seek error"
#define MErrFOpen      "File open error"
#define MErrFCreat     "File create error"
#define MErrFClose     "File close error"
#define MErrOutMem     "Not enough memory"
#define MErrBrokenArc  "Broken archive - use 'Repair' command"
#define MProgAborted   "Program aborted"

#define MAbsNextVol   "\nCannot find volume %s"
#define MLogAbsVol    "Required volume absent"

#define MBreak        "\nUser break\n"

#define MAskCreatVol  "\nCreate next volume ?"
#define MAskNextDisk  "\nDisk full. Insert next"

#define MCreatVol     "\n\nCreating %sarchive %s\n"
#define MAskNextVol   "\nInsert disk with %s"

#define MTestVol      "\n\nTesting archive %s\n"
#define MExtrVol      "\n\nExtracting from %s\n"
#define MConverting   "\nConverting %s"

#define MCvtToSFX     "\nConvert archives to SFX"

#define MNotRAR       "\n%s is not RAR archive"
#define MAlreadySFX   "\n%s already SFX"
#define MNotFirstVol  "\n%s is not first volume"
#define MCvtOldFormat "\n%s - cannot convert to SFX archive with old format"
#define MCantCreatSFX "\nCannot create %s"
#define MUnknownMeth  "\nUnknown method in %s"

#define MSFXOk        " Ok"

#define MSFXDone      "\nDone"
#define MKeepBack     "\nKeep %s"
#define MLockingArc   "\nLocking %s"
#define MLockDone     "\nDone"

#define MBrokArcHead  "\n\nWARNING: Archive header broken"
#define MNotMdfOld    "\n\nERROR: Cannot modify old format archive"
#define MNotMdfLock   "\n\nERROR: Locked archive"
#define MNotMdfVol    "\n\nERROR: Cannot modify volume"
#define MReadAVOutMem "\nNot enough memory to read authenticity information"
#define MUnknAV       "\nWARNING: Unknown authenticity information format"
#define MCorruptAV    "\nWARNING: Authenticity information corrupt"
#define MVerifyAV     "\nVerifying authenticity information ... "
#define MOkAV         " Ok\n"
#define MFailedAV     " Failed\n"
#define MStrAV1       "\n\nArchive %s\n%s at %s"
#define MAVMdf        "modified"
#define MAVCreated    "created"
#define MStrAV2       "\nby %s\n"
#define MLogFailedAV  "Invalid authenticity information"
#define MAddAVOutMem "\n\nWARNING: Not enough memory to put authenticity verification\n"

#define MAddingAV     "\nAdding authenticity verification "
#define MCannotFOpen  "\nERROR: Cannot open %s\n"

#define MPackOutMem   "\n\nERROR: Not enough memory to pack\n"

#define MPackAskReg   "\nEvaluation copy. Please register.\n"

#define MCreateArchive   "\nCreating %sarchive %s\n"
#define MUpdateArchive   "\nUpdating %sarchive %s\n"
#define MAddSolid        "solid "
#define MAddReadComment  "\nRead comment from %s\n"

/* The following 3 strings should be the same length and have '%-50s'
   in the same posistion. If needed add spaces to the end of first
   two strings and to the middle of the third one.
*/
#define MAddFile      "\nAdding    %-50s     "
#define MUpdFile      "\nUpdating  %-50s     "
#define MAddPoints    "\n...       %-50s     "


#define MUpdSolOutMem      "\nERROR: Not enough memory to update solid archives\n"
#define MCannotUpdPswSolid "\nERROR: Cannot update solid archives with password\n"
#define MAddErrFOpen       "\nWARNING: Cannot open %s"

#define MMoveDelFiles     "\n\nDeleting files %s..."
#define MMoveDelDirs      "and directories"
#define MMoveDelFile      "\nDeleting %-30s"
#define MMoveDeleted      "    deleted"
#define MMoveNotDeleted   "    NOT DELETED"
#define MClearAttrib      "\n\nClearing attributes..."

#define MMoveDelDir   "\nDeleting directory %-30s"

#define MWarErrFOpen  "\nWARNING: Cannot open %d %s"
#define MErrOpenFiles "files"
#define MErrOpenFile  "file"
#define MAddNoFiles   "\nWARNING: No files"
#define MAddDone      "\nDone"

#define MAddBrokFHead "\nERROR: File header broken\n"
#define MMdfEncrSol   "\n%s: encrypted"

#define MCannotMdfEncrSol "\nCannot modify solid archive containing encrypted files"

/*
The following 2 strings should be of the same length
*/

#define MAddAnalyze       "\nAnalyzing archived files: "
#define MRepacking        "\nRepacking archived files: "

#define MAddUnknMeth      "\n%s: unknown method"
#define MMdfSolBadCRC     "\n%s:%s  CRC failed"
#define MLogMdfSolBadCRC  "CRC failed"
#define MExtrOutMem       "\nERROR: Not enough memory to extract\n"

#define MExtrTest         "\n\nTesting archive %s\n"
#define MExtracting       "\n\nExtracting from %s\n"

#define MNeedFirstVol     "\nERROR: Solid archive. First volume required\n"

#define MUseCurPsw        "\n%s - use current password ?"
#define MExtrUnknMeth     "\n%s: unknown method"

/*
The following 7 strings should have '%-56s' in the same position
*/

#define MExtrSkipDir  "\nSkipping    %-56s"
#define MExtrTestDir  "\nTesting     %-56s Ok"
#define MCreatDir     "\nCreating    %-56s Ok"
#define MExtrSkipFile "\nSkipping    %-56s"
#define MExtrTestFile "\nTesting     %-56s"
#define MExtrFile     "\nExtracting  %-56s"
#define MExtrPoints   "\n...         %-56s"

#define MExtrErrMkDir "\nCannot create directory  %s"
#define MExtrErrCreat "\nCannot create %s"
#define MExtrPrinting "\n------ Printing %s\n\n"

#define MExtrOk       " Ok"

#define MEncrBadCRC   "\nEncrypted file:  CRC failed in %s (password incorrect ?)"
#define MLogEncrBadCRC "CRC failed (password incorrect ?)"

#define MExtrBadCRC   "\n%-20s : CRC failed"
#define MExtrLogCRC   "CRC failed"
#define MExtrNoFiles  "\nNo files"
#define MExtrAllOk    "\nAll OK"
#define MExtrTotalErr "\nTotal errors: %ld"
#define MFileExists   "\n\n%s already exists. Overwrite it ?"

#define MAskOverwrite "\nOverwrite %s ?"
#define MAskNewName   "\nEnter new name: "
#define MAskNewName1  "Enter new name"

#define MBrokFileHead "\n%s: file header broken\n"
#define MLogMainHead  "Archive header broken"
#define MLogFileHead  "file header broken"
#define MLogCommHead  "Comment header broken"
#define MLogAVHead    "Authenticity information corrupt"

#define MLogProtectHead    "Data recovery header corrupt"

#define MMainCommAdd  "\nAdding archive comments"
#define MReadStdinCmt "\nRead comment from stdin\n"
#define MReadCommFrom "\nRead comment from %s"

#define MCommOutMem   "\nERROR: Not enough memory for commenting\n"
#define MCantAddComm  "\nCannot add comment to %s"

#define MDelComment   "\n\nDeleting comment from %s"
#define MAddComment   "\n\nAdding comment to %s"

#define MAskComm      "\n\nReading comment for %s from stdin\n"

#define MCommOk       " Ok"

#define MCommDone     "\nDone"

#define MFCommAdd     "\nAdding file comments"
#define MCantAddFComm "\nCannot add comment to %s"

#define MAskFComm     "\n\nRead comment for %s : %s from stdin\n"

#define MDelFComm     "\n\nDeleting comment from %s"
#define MAddFComm     "\n\nAdding comment to %s"

#define MFCommOk      " Ok"

#define MFCommDone    "\nDone"

#define MBrokCommHead    "\nWARNING: Comment header broken\n"
#define MViewCmtOutMem   "\nWARNING: Not enough memory to extract comment\n"
#define MLogCommBrk      "Comment broken"
#define MSkipBrokCmt     "\nWARNING: Comment broken - skipped"
#define MCommAskCont     "\nPress 'Enter' to continue or 'Q' to quit:"
#define MSkipBrkCmtHead  "\nComment header broken - skipped"
#define MSkipBrokFCmt    "\nFile comment broken - skipped"
#define MLogBrokFCmt     "File comment broken"
#define MAbsDestName     "\nDestination file name required"
#define MWrCmtErrFCreat  "\nCannot create %s"
#define MWriteCommTo     "\nWrite comment to %s"
#define MCommNotPres     "\nComment not present"
#define MDelSolOutMem    "\nERROR: Not enough memory to delete from solid archive\n"

#define MDelFrom       "\nDeleting from %s"
#define MDeleting      "\nDeleting %s"
#define MEraseArc      "\nErasing empty archive %s"
#define MNoDelFiles    "\nNo files to delete"
#define MDelDone       "\nDone"

#define MLogTitle      "\n\n--------  %2d %s %d, archive %s\n"
#define MTooManyFiles  "\nERROR: Too many files and directories\n"
#define MPathTooLong   "\nERROR: Path too long\n"
#define MListSolid     "Solid "
#define MListSFX       "SFX "
#define MListVol1      "volume"
#define MListVol2      "Volume"
#define MListArc1      "archive"
#define MListArc2      "Archive"
#define MListRecRec    "\nRecovery record present\n"
#define MListLock      "\nLock present\n"
#define MListPathComm  "\nPathname/Comment\n            "

/*
Don't change lengths and word postions in the next 3 strings
*/

#define MListName      "\n Name       "
#define MListTitle     "      Size   Packed Ratio  Date   Time     Attr      CRC   Meth Ver\n"
#define MListTechTitle "               Host OS    Solid\n"
#define MListEAHead    "\n OS/2 extended attributes\n"
#define MListUOHead    "\n Unix Owner/Group data:    %-14s %-14s\n"

#define MYes           "Yes"
#define MNo            "No"

#define MListNoFiles   "  0 files\n"

#define MRprErrFCreat  "\nCannot create %s"
#define MRprReconstr   "\nReconstructing %s"
#define MRprBuild      "\nBuilding %s"

#define MRprOldFormat     "\nCannot repair archive with old format"
#define MRprFind          "\nFound  %s"
#define MRprAskIsSol      "\nArchive header broken. Mark archive as solid ?"

#define MRprNoFiles    "\nNo files"
#define MRprDone       "\nDone"

#define MRprSuspEntry  "\n\nSuspicious entry %s"
#define MRprDir        "\nDirectory"
#define MRprSuspSize   "\nSize %ld  Packed %ld"
#define MRprSuspAdd    "\nAdd it to archive ?"

#define MErrTcreat     "\nERROR: Cannot create %s\n"
#define MUnexpEOF      "\nUnexpected end of archive"
#define MLogUnexpEOF   "Unexpected end of archive"

#define MRepAskReconst "\nReconstruct archive structure ?"
#define MRecScanning   "\nScanning..."
#define MRecRNotFound  "\nData recovery record not found"
#define MRecRFound     "\nData recovery record found"
#define MRecSecDamage  "\nSector %ld (offsets %lX...%lX) damaged"
#define MRecCorrected  " - data recovered"
#define MRecFailed     " - cannot recover data"
#define MAddRecRec     "\nAdding data recovery record"
#define MProtecting    "\nProtecting %s"
#define MProtectDone   "\nDone"

#define MAddOk         "\b\b\b\b\b  Ok "

#define MEraseForVolume   "\n\nErasing contents of drive %c:\n"

#define MGetOwnersError   "\nWARNING: Cannot get %s owner and group\n"
#define MErrGetOwnerID    "\nWARNING: Cannot get owner %s ID\n"
#define MErrGetGroupID    "\nWARNING: Cannot get group %s ID\n"
#define MOwnersBroken     "\nERROR: %s group and owner data broken\n"
#define MLogOwnersBroken  "Group and owner data broken\n"
#define MSetOwnersError   "\nWARNING: Cannot set %s owner and group\n"

#define MErrLnkRead       "\nWARNING: Cannot read symbolic link %s"
#define MLogErrLnkRead    "Cannot read symbolic link"
#define MErrCreateLnk     "\nWARNING: Cannot create link %s"
#define MSymLinkExists    "\nWARNING: Symbolic link %s already exists"
