WpsGetKeyStrings - Zugriffsschlüssel für InDesign-Meldungen

Ermittelt den Zugriffschlüssels für InDesignmeldungen
Antworten
wernerperplies
Beiträge: 250
Registriert: 6. Aug 2011, 17:48
Wohnort: 18374 Zingst
Kontaktdaten:

WpsGetKeyStrings - Zugriffsschlüssel für InDesign-Meldungen

Beitrag von wernerperplies » 26. Aug 2013, 06:02

Zur Erstellung mehrsprachiger Scripts ist es sinnvoll, wenn immer möglich, die in Adobe InDesign bereits vorhandenen Übersetzungen zu nutzen.
Der Zugriff auf diese Meldungen erfolgt über einen/mehrere Schlüssel, den Sie mit diesem Skript leicht ermitteln können:

Code: Alles auswählen

/// DESCRIPTION Ermittelt den Zugriffsschlüssel für InDesignmeldungen 
// Dateiname: WpsGetKeyStrings.jsx
//  © 2013 by Werner Perplies, EDV-Anwendungsberatung, 
// https://www.weepee.de, email: werner.perplies@weepee.de 
// [created]
#targetengine "WpsGetKeyString";
#target indesign

main();

function main()
{
    var win = new Window("window", "WpsGetKeyStrings");  // app.dialogs.add({name:"Get Key Strings"});
    win.eTg = addAlabledEditText(win, "GUI-Elementtext:", null, null, 50);
    win.resultGroup = addAlabledEditText(win, "Schlüssel:", null, null, 50, true, null, true, true);
    win.resultGroup.edText.preferredSize.height = 300;
    win.buttonGroup = win.add("group");
    win.buttonGroup.get = win.buttonGroup.add("button",undefined, "Get");
    addCancelOkGroup(win, win.buttonGroup, true);
    win.OnClose= function()
    {
        win = null;
    }
    win.buttonGroup.get.onClick = function()
    {
		var string = win.eTg.edText.text;
            if (string=="") return;
		var keyStrings = app.findKeyStrings(string);
		var string = "";
		if(keyStrings.constructor.name == "Array")
			for(var i = 0; i < keyStrings.length; i++)
				string += keyStrings[i] + "\n";
            else
                string = myKeyStrings;
        win.resultGroup.edText.text= string;
	}
    win.show();
    return;
        
    /*object*/function addCancelOkGroup(/*window*/win,  /*object*/toAdd, /*boolean*/cancelOnly)
    {
        var buttonGroup = toAdd.add("group");  
        var btNo = buttonGroup.add("button", undefined, app.translateKeyString("$ID/Cancel"), {name: "Cancel"});
        if (cancelOnly==null)
            cancelOnly=false;
         if (!(cancelOnly))
            var btYes = buttonGroup.add("button", undefined, app.translateKeyString("$ID/Ok"), {name:"Ok"});
        /*boolean*/btNo.onClick=function(event)
        { 
             win.close();
        }
        if (!(cancelOnly))
        {
           /*string*/btYes.onClick=function(event)
            {
                win.close();
            }
        }
    }
    /*object*/function addAlabledEditText(/*object*/toAdd, 
        /*string*/lblText, /*String*/helpTip, /*String*/editTextText, /*Int*/editTextCharacters, /*Boolean*/enabled,  /*function*/callerFunction, 
        /*Boolean*/multiline,  /*Boolean*/scrolling)
    {
        // addAlabledEditText(toAdd, lblText, helpText, editTextText, editTextCharacters, enabled,  callerFunction);
        var lblEdGroup = toAdd.add("group");
        lblEdGroup.spacing = 5;
        lblEdGroup.label = lblEdGroup.add("statictext", undefined, lblText);
        if (helpTip!=null)
            lblEdGroup.label.helpTip= helpTip;
        if (editTextText == null)
            editTextText = "";
        if (multiline == null)
            multiline=false;
        if (scrolling == null)
           scrolling =false;            
        lblEdGroup.edText = lblEdGroup.add("edittext", undefined, editTextText, {multiline: multiline, scrolling: scrolling});
        if ((editTextCharacters == null) && (editTextText !=null))
            lblEdGroup.edText.characters = editTextText.length;
        else if (editTextCharacters != null)
             lblEdGroup.edText.characters = editTextCharacters;
        else 
        {
            lblEdGroup.alignment = ["fill","top"];
            lblEdGroup.edText.alignment = ["fill","top"];
        }
        if (helpTip!=null)
            lblEdGroup.edText.helpTip= helpTip;
        if (enabled==null)
            enabled = true;
        lblEdGroup.edText.enabled = enabled;
        return  lblEdGroup;   
    }
}
Bild

Die zugehörige Meldung rufen Sie dann so auf:

Code: Alles auswählen

alert(app.translateKeyString("$ID/Tables Options"));
Bild

Download (erfordert Anmeldung/Registrierung im Forum): WpsStylesClass
einen schönen Tag wünscht

Werner Perplies
https://www.weepee.de

Antworten

Zurück zu „WpsGetKeyStrings“