Diese Meldungen kann ich auch bei Bedarf per Include-Anweisungen individuell zusammen stellen.
Beispiel (auszug):
Code: Alles auswählen
// global object
var /*Object*/gO = {};
// message part of global object -> {N} are placholders for varable inserts
gO.messages =
{
scriptName: scriptName,
version: ": Version: {0} ",
versionN: scriptVersion + " (" + scriptDate + ")",
winTitleNoFile: scriptName + " {0} eingeschränkte Testversion",
serialNumber: "Seriennummer: {0}",
winTitleCsvSettings: " Csv-Einstellungen: {0} Datensätze eingelesen",
scriptCancelled: "{0} wurde abgebrochen!",
errorInFunction2: "{0}\ninZeile {1} \nFehlernummer {2} \nin Funktion {3} gerufen von {4}",
errorInFunction3: "{0}\nin Zeile {1} \nFehlernummer {2} \n*****\n",
errorInFunction4: "{0}\nin Zeile {1} \nFehlernummer {2} \nStack:\n {3}*****\n",
bugInErrorHandler: "Fehler im Errorhandler!\nschicken Sie bitte einen Screenshot an den Entwickler\nMeldung: {0}\nin Zeile: {1}",
cantCreateFile4WriteObject: "Konnte Dateiobjekt für Datei\n{0}\nnicht zum Schreiben einrichten\nSystemmeldung: {1}\n in Zeile: {2}",
cantOpenFile4Write: "Konnte Datei\n{0}\nnicht zum Schreiben öffnen!\nSystemmeldung: {1}\n in Zeile: {2}",
cantWriteFileContent: "Konnte Inhalt der Datei\n{0}\nnicht schreiben!\nSystemmeldung: {1}\n in Zeile: {2}",
cantWriteFileClose: "Konnte Datei\n{0}\nnicht schließen!\nSystemmeldung: {1}\n in Zeile: {2}",
cantCreateFile4ReadObject: "Konnte Dateiobjekt für Datei\n{0}\nnicht zum Lesen einrichten\nSystemmeldung: {1}\n in Zeile: {2}",
cantOpenFile4Read: "Konnte Datei\n{0}\nnicht zum Lesen öffnen!\nSystemmeldung: {1}\n in Zeile: {2}",
cantReadFileContent: "Konnte Inhalt der Datei\n{0}\nnicht lesen!\nSystemmeldung: {1}\n in Zeile: {2}",
cantReadFileClose: "Konnte Datei\n{0}\nnicht schließen!\nSystemmeldung: {1}\n in Zeile: {2}",
fileNotExist: "Konnte Datei\n{0}\nnicht finden!\n",
UnixIsNotSupported: "Unix wird von diesem Skript nicht unterstützt",
notSupportedOperatingSystem: "Betriebsystem wird nicht unterstützt",
selectInddFile: "INDD-Datei auswählen:",
selectCsvFile: "CSV-Datei auswählen:",
selectFiles: "Dateien auswählen:",
selectStartFolder: "Startverzeichnis auswählen:",
titleInfoBox: "Information von {0}:",
textFiles: "Textdateien:*.txt",
csvFiles: "CSV-Dateien:*.csv",
}
Code: Alles auswählen
alert(gO.messages.UnixIsNotSupported)
Code: Alles auswählen
var messages = gO.messages.toSource()
in das globale Objekt zurückgeladen werden.
Ich realisiere das so, dass ich vor Öffnen des Skriptfensters prüfe, ob eventuell eine externe Meldungsdatei vorliegt.
Finde ich solche eine Datei, überlade ich die internen Meldungen des Skriptes durch die externen Meldungen mit diesem Skript:
Code: Alles auswählen
{
// DESCRIPTION ReadExternalMessages
// Dateiname: ReadExternalMessages.jsx
// © 2013 by Werner Perplies, EDV-Anwendungsberatung,
// https://www.weepee.de, email: werner.perplies@weepee.de
// created: Thu Jul 25 2013 10:00:56 GMT+0200
// modified: Tue Aug 06 2013 14:27:03 GMT+0200
// [modified]
// [end of header]
/*void*/function readExternalMessages()
{
try
{
var file = File(gO.settingPath+$.locale+"/messages/Messages.dat");
if (file.exists)
{
var msgs = readFile2String (file.fsName).split("\n");
var c = ""; var name = "";
for (var i =0; i<msgs.length; i++)
{
if (msgs[i].trim().length==0) continue;
if (msgs[i].trim()=="{") continue;
if (msgs[i].trim()=="}") continue;
if (msgs[i].trim() == "gO.messages =") continue;
if (msgs[i].trim().left(2) == "//") continue;
var line = msgs[i].trim().replace(/: \"/g,":\"").split(":\"");
if (line.length>1)
{
name = line[0].trim();
c = line[1].trim();
c = c.left(c.length-1).trim();
c = c.replaceStringsInList([["\\n","\n","g"], ["\\s","\s","g"], ["\\t","\t","g"]]);
// mSg[name] = c.left(c.length-1).trim().decodeEscapedUnicode();
mSg[name] = c.left(c.length-1).trim().decodeEscapedUnicode();
}
}
}
}
catch (error)
{
alert(error.message + "\nFheler in Zeile: " + error.line);
}
return;
}
}