How to localize error messages

This feature is added since XFRX 18.2.1

Orignal error messages

PROCEDURE ErrorMessage
   LPARAMETERS m.tnErrorNumber
   DO CASE
      CASE m.tnErrorNumber = 0
           RETURN "OK"
      CASE m.tnErrorNumber = -1
           RETURN "Cannot load Word application."
      CASE m.tnErrorNumber = -2
           RETURN "The Word application version must be 2000 or higher."
      CASE m.tnErrorNumber = -3
           RETURN "Cannot create or open the output FILE (%1)."
      CASE m.tnErrorNumber = -4
           RETURN "Unknown output target."
      CASE m.tnErrorNumber = -5
           RETURN "Hndlib.dll cannot be loaded (it is missing or an old version is used)."
      CASE m.tnErrorNumber = -6
           RETURN "Xfrxlib.fll cannot be loaded (it is missing or invalid)."
      CASE m.tnErrorNumber = -7
           RETURN "Zlib.dll cannot be loaded."
      CASE m.tnErrorNumber = -8
           RETURN "An old version of xfrxlib.fll is used."
      CASE m.tnErrorNumber = -9
           RETURN "Sorry, Word 2007 or higher is required for docx format!"
      CASE m.tnErrorNumber = -10
           RETURN "The existing document is either corrupted or in an unsupported format."
      CASE m.tnErrorNumber = -11
           RETURN "Signature file not found."
      CASE m.tnErrorNumber = -12
           RETURN "Cannot use the signature file."
      CASE m.tnErrorNumber = -13
           RETURN "The output folder (%1) does not exist or you do not have write access."
      CASE m.tnErrorNumber = -15
           RETURN "Cannot load Excel application."
      CASE m.tnErrorNumber = -16
           RETURN "The Excel application version must be 2000 or higher."
      CASE m.tnErrorNumber = -17
           RETURN "PDF password not is valid."
      CASE m.tnErrorNumber = -18
           RETURN "Not is possible append new data with password to pdf without password."
      CASE m.tnErrorNumber = -19
           RETURN "File name (%1) not is valid."
      OTHERWISE
           RETURN "Unknown error"
   ENDCASE
ENDPROC

Error messages in czech

PROCEDURE ErrorMessageCZ
   LPARAMETERS m.tnErrorNumber
   DO CASE
      CASE m.tnErrorNumber = 0
           RETURN "Vše v pořádku."
      CASE m.tnErrorNumber = -1
           RETURN "Nepodařilo se vytvořit objekt aplikace MS Word."
      CASE m.tnErrorNumber = -2
           RETURN "Verze aplikace MS Word musí být 2000 nebo vyšší."
      CASE m.tnErrorNumber = -3
           RETURN "Nepodařilo se vytvořit nebo otevřít soubor (%1)."
      CASE m.tnErrorNumber = -4
           RETURN "Neznámý typ výstupu."
      CASE m.tnErrorNumber = -5
           RETURN "Hndlib.dll nemůže být zavedena do paměti (Chybí nebo se použila starší verze)."
      CASE m.tnErrorNumber = -6
           RETURN "Xfrxlib.fll nemůže být zavedena do paměti (Chybí nebo není validní)."
      CASE m.tnErrorNumber = -7
           RETURN "Zlib.dll nemůže být zavedena do paměti."
      CASE m.tnErrorNumber = -8
           RETURN "Je použita starší verze xfrxlib.fll."
      CASE m.tnErrorNumber = -9
           RETURN "Promiňte, pro formát DOCX je vyžadován MS Word 2007 nebo vyšší!"
      CASE m.tnErrorNumber = -10
           RETURN "Existující dokument je poškozen nebo je nepodporovaného formátu."
      CASE m.tnErrorNumber = -11
           RETURN "Soubor s elektronickým podpisem nenalezen."
      CASE m.tnErrorNumber = -12
           RETURN "Nelze použít Soubor s elektronickým podpisem."
      CASE m.tnErrorNumber = -13
           RETURN "Složka (%1) neexistuje nebo není do složky právo zapisovat."
      CASE m.tnErrorNumber = -15
           RETURN "Nepodařilo se vytvořit objekt aplikace MS Excel."
      CASE m.tnErrorNumber = -16
           RETURN "Verze aplikace MS Excel musí být 2000 nebo vyšší."
      CASE m.tnErrorNumber = -17
           RETURN "Heslo PDF není platné."
      CASE m.tnErrorNumber = -18
           RETURN "Není možné připojit nová data do PDF souboru bez hesla."
      CASE m.tnErrorNumber = -19
           RETURN "Název souboru (%1) obsahuje neplatné znaky"
      OTHERWISE
           RETURN "Neznámá chyba."
   ENDCASE
ENDPROC

Using the procedure with localized error messages

loSession=EVALUATE([xfrx("XFRX#INIT")])
*loSession=EVALUATE([xfrx("XFRX#LISTENER")])
loSession.cErrorMessage="ErrorMessageCZ"


loPreview = CREATEOBJECT("frmMPPreviewer")
loPreview.cErrorMessage="ErrorMessageCZ"