[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Dt. Sprachen über ihre Namen adressieren

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Dt. Sprachen über ihre Namen adressieren

Martin Fischer
  
Beiträge gesamt: 12783

1. Mär 2014, 10:16
Beitrag # 1 von 27
Bewertung:
(8034 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Liebe Kollegen,

im Moment habe ich Probleme, die deutschen Sprachen, welche die app zur Verfügung stellt, über ihre Namen anzusprechen. 
Auch die englischsprachige Notation und die lokalisierungs-unabhängige Variante wollen nicht funktionieren.
Bei anderen Sprachen ist es mir gelungen, sie über die englische Notation (nicht aber über die lokalisierungs-unabhängige '$ID/...') zu adressieren.

Code
$.writeln( app.languagesWithVendors.everyItem().name.join('\n')); 

var lan_arr = ['Deutsch: 2006 Rechtschreibreform', 'German: 2006 Reform', '$ID/de_DE_2006', 'Englisch: Großbritannien', 'English: UK', '$ID/English: UK', 'French']
for (var i = 0; i < lan_arr.length; i++)
$.writeln( lan_arr[i] + ':\t' + app.languagesWithVendors.itemByName(lan_arr[i]).isValid);


Kann mir jemand sagen, wie ich 'Deutsch: 2006 Rechtschreibreform' als app.languagesWithVendors-Objekt korrekt adressieren kann?
X

Dt. Sprachen über ihre Namen adressieren

Uwe Laubender
Beiträge gesamt: 5319

1. Mär 2014, 10:22
Beitrag # 2 von 27
Beitrag ID: #524294
Bewertung:
(7969 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Martin!

Ich schätze mal über deren ID.
Einen Hinweis hier:

Pierre Lef
Changing language preferences (dictionary) in all the documents in an Incopy assignement?
02.01.2014 06:39

Beitrag #3
Jump_Over (Jarek)
http://forums.adobe.com/message/5976161#5976161


als Antwort auf: [#524293]

Dt. Sprachen über ihre Namen adressieren

Martin Fischer
  
Beiträge gesamt: 12783

1. Mär 2014, 10:33
Beitrag # 3 von 27
Beitrag ID: #524296
Bewertung:
(7963 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

das könnte tatsächlich eine Lösung für meine Zwecke sein.
Aber ist die ID denn immer zuverlässig?
Angenommen der Entwickler und der Kunde haben unterschiedliche Sprachmodule zur Verfügung (z.B. zusätzlich für 'Deutsch: Österreich', wie im Duden-Plugin oder 'Lateinisch' als zusätzliches Modul).
Hat dann auf ENGLISH in beiden Umgebungen garantiert dieselbe ID oder können die IDs bei unterschiedlicher Sprachen-Zahl unterschiedlich sein?

Ich hatte gehofft, durch die Adressierung über die Namen (englisch oder locale-independent) mich diesem Risiko nicht aussetzen zu müssen.

Weshalb sind gerade die dt. Sprachen gegenüber der Adressierung über den Namen so sperrig?
Liegt es eventuell daran, dass bei mir ein anderer Sprachanbieter (InDihyph/InDitect) installiert ist?

Hab's auch mit InDesign CS4 ME unter Windows getestet.
Auch dort lassen sich die nicht-deutschen Sprachen über ihre englische Namen adressieren. Die deutschen Sprachen bleiben außen vor. :-(


als Antwort auf: [#524294]

Dt. Sprachen über ihre Namen adressieren

Uwe Laubender
Beiträge gesamt: 5319

1. Mär 2014, 10:45
Beitrag # 4 von 27
Beitrag ID: #524299
Bewertung:
(7951 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Martin!

Ja, das wäre eine Untersuchung wert…
Die ID-Nummern könnten da flexibel sein.

Für eine Standardinstallation von InDesign liegt der Nummern-Bereich für die Sprachen jedenfalls in den ersten Zahlen von 2 bis schätzungsweise 100.

Die 1 ist immer dem geöffneten InDesign-Dokument zugeordnet.
Das läuft dann über die pageItems-Klasse:

Code
app.documents[0].pageItems.itemByID(1).getElements(); 


Ob auch negative Zahlen als Wert von ID vorkommen können?
Könnte ich mir vorstellen. Das ist mir jedenfalls bei den menuActions nach ID aufgefallen…


als Antwort auf: [#524296]

Dt. Sprachen über ihre Namen adressieren

Martin Fischer
  
Beiträge gesamt: 12783

1. Mär 2014, 10:59
Beitrag # 5 von 27
Beitrag ID: #524301
Bewertung:
(7927 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Uwe,

hast Du denn auch eine einleuchtende Erklärung, warum ausgerechnet bei den dt. Sprachen (vielleicht sogar nur bei diesen) die Adressierung über die Namen nicht funktioniert?

Oder funktioniert das bei Dir/anderen und nur bei mir nicht, wie da ein Plugin-Anbieter dazwischenfunkt?


als Antwort auf: [#524299]

Dt. Sprachen über ihre Namen adressieren

Martin Fischer
  
Beiträge gesamt: 12783

1. Mär 2014, 11:32
Beitrag # 6 von 27
Beitrag ID: #524304
Bewertung:
(7887 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

mit einer Behelfsfunktion funktioniert's über die id.

Code
var lan_id = get_lanID('Deutsch: 2006 Rechtschreibreform'); 
var lan = app.languagesWithVendors.itemByID( lan_id );
$.writeln( lan.isValid);

function get_lanID(str)
{
var id = null;
for (var i = 0; i < app.languagesWithVendors.length; i++)
if (app.languagesWithVendors.item(i).name == str)
{
id = app.languagesWithVendors.item(i).id;
break;
}
return id;
}


Danke nochmals für den Hinweis mit der id.


als Antwort auf: [#524301]
(Dieser Beitrag wurde von Martin Fischer am 1. Mär 2014, 11:35 geändert)

Dt. Sprachen über ihre Namen adressieren

Uwe Laubender
Beiträge gesamt: 5319

1. Mär 2014, 11:51
Beitrag # 7 von 27
Beitrag ID: #524305
Bewertung:
(7881 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
/EDIT: AH. Sehe gerade, Du bist bereits fündig geworden…

Hallo, Martin!

Nö. Ne Erkärung habe ich (noch) nicht…

Aber Du kannst ja mal Folgende Abfrage auswerten. Vielleicht findet sich was Brauchbares.

Code
var newDoc = app.documents.add(); 
var limit = newDoc.rectangles.add().id;

for(var n=1;n<limit;n++){
try{

var myObject = newDoc.pageItems.itemByID(n);

for(x in myObject){
$.writeln(x+"\t"+myObject[x]);
};

$.writeln("*********");


}catch(e){};
};


Bei einer ersten Durchsicht bin ich u.a. auf die Property icuLocaleName gestoßen.

Außerdem gäbe es daneben auch noch (Liste unvollständig):

Code
name 
hyphenationVendor
spellingVendor
isValid
index


Für folgendes Snippet das Resultat für mein deutsches InDesign CS5.5 unten am Code angehängt (ist ne lange Liste). Zusammen mit den IDs der pageItems-Klasse.

Die IDs 101-103 beinhalten die drei deutschen Sprachvarianten.

Code
//Deutsches InDesign CS5.5 
//OSX 10.6.8
//Proximity

var newDoc = app.documents.add();
var limit = newDoc.rectangles.add().id;

for(var n=1;n<limit;n++){
try{
$.writeln(n+"\t"+newDoc.pageItems.itemByID(n).icuLocaleName);
}catch(e){};
};

/*
RESULTS:

69 en_US_POSIX
70 en_US
71 en_US
72 en_US
73 fr_FR
74 es_ES
75 it_IT
76 en_GB
77 sv_SE
78 da_DK
79 nb_NO
80 pt_PT
81 pt_BR
82 fr_CA
83 nn_NO
84 fi_FI
85 ca_ES
86 ru_RU
87 bg_BG
88 cs_CZ
89 pl_PL
90 ro_RO
91 el_GR
92 tr_TR
93 hu_HU
94 en_CA
95 sk_SK
96 hr_HR
97 et_EE
98 lv_LV
99 lt_LT
100 sl_SI
101 de_DE
102 de_DE
103 de_DE
104 nl_NL
105 nl_NL
106 de_CH
107 de_CH
108 pt_BR
109 uk_UA

*/



als Antwort auf: [#524301]
(Dieser Beitrag wurde von Uwe Laubender am 1. Mär 2014, 11:53 geändert)

Dt. Sprachen über ihre Namen adressieren

WernerPerplies
Beiträge gesamt: 2763

1. Mär 2014, 15:04
Beitrag # 8 von 27
Beitrag ID: #524307
Bewertung:
(7816 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Herr Fischer,

Zitat Aber ist die ID denn immer zuverlässig?


Ich habe jetzt hier nur ein wenig mitgelesen und nichts selbst überprüft, aber ich finde, die Doku ist doch ganz eindeutig:

Zitat The unique ID of the LanguageWithVendors.


Für mich bedeutet das, das die ID eindeutig ist, und anders, als die ID sonst in InDesign, unveränderlich ist.

Anders ausgedrückt, es ist m. E. möglich, und vermutlich auch wahrscheinlich, dass Namen nicht eindeutig sind, aber jede ID in diesem Fall in irgendeiner Formm bei Adobe registriert werden muss und nur einmal vergeben wird.


als Antwort auf: [#524296]

Dt. Sprachen über ihre Namen adressieren

Martin Fischer
  
Beiträge gesamt: 12783

1. Mär 2014, 16:16
Beitrag # 9 von 27
Beitrag ID: #524308
Bewertung:
(7787 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Herr Perplies,

es ist die Frage, auf was sich der Begriff "unique" bezieht.
Auf alle ID-Installationen und -Versionen weltweit?
Oder auf die aktuell, lokal ausgeführte Version.

Spontan vermute ich, dass sich zumindest meine IDs von denjenigen von Uwe unterscheiden.

Code
var lan = app.languagesWithVendors; 
for (var i = 0; i < lan.length; i++)
$.writeln( lan[i].id + ':\t' + lan[i].name);


Ergebnis:
Code
58:	[Keine Sprache] 
59: Deutsch: Alte Rechtschreibung
60: Deutsch: 1996 Rechtschreibreform
61: Deutsch: 2006 Rechtschreibreform
62: Deutsch: Schweiz
63: Deutsch: Schweiz 2006 Rechtschreibreform
64: Lateinisch
65: Bengalisch (Indien)
66: Gujarati (Indien)
67: Hindi (Indien)
68: Kannada (Indien)
69: Malayalam (Indie)
70: Marathi (Indien)
71: Oriya (Indie)
72: Pandschabisch (Indien)
73: Tamilisch (Indien)
74: Telugu (Indien)
75: Bulgarisch
76: Katalanisch
77: Tschechisch
78: Dänisch
79: Griechisch
80: Englisch: Kanada
81: Englisch: Großbritannien
82: Englisch: USA
83: Englisch: USA Medizin
84: Spanisch
85: Estnisch
86: Finnisch
87: Französisch: Kanada
88: Französisch
89: Kroatisch
90: Ungarisch
91: Italienisch
92: Litauisch
93: Lettisch
94: Norwegisch: Bokmål
95: Niederländisch: Alte Rechtschreibung
96: Niederländisch: 2005 Rechtschreibreform
97: Norwegisch: Nynorsk
98: Polnisch
99: Portugiesisch: Brasilien
100: Portugiesisch: Rechtschreibreform
101: Portugiesisch
102: Rumänisch
103: Russisch
104: Slowakisch
105: Slowenisch
106: Schwedisch
107: Türkisch
108: Ukrainisch
109: Englisch: USA Recht
110: Hebräisch
111: Arabisch
579: Deutsch: Österreich
698: Farsi


Freilich arbeiten wir mit unterschiedlichen InDesign-Versionen. ;-)
Wer wagt den Vergleich mit seinen InDesign CS6-Sprachen gegen die meinigen?


----
edit: Gerade sehe ich, Uwe interessiert sich mehr für die IDs von PageItems als für die von Sprachen. Aber wie kommt er von den PageItems auf die icuLocaleNames?
Ist da beim Kopieren was durcheinandergeraten?


als Antwort auf: [#524307]
(Dieser Beitrag wurde von Martin Fischer am 1. Mär 2014, 16:19 geändert)

Dt. Sprachen über ihre Namen adressieren

Martin Fischer
  
Beiträge gesamt: 12783

1. Mär 2014, 16:33
Beitrag # 10 von 27
Beitrag ID: #524309
Bewertung:
(7777 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
InDesign CS4 (Mac):
Code
58:	[Keine Sprache] 
59: Deutsch: Alte Rechtschreibung
60: Deutsch: Rechtschreibreform 1996
61: Deutsch: Rechtschreibreform 2006
62: Deutsch: Schweiz
63: Deutsch: Schweiz Rechtschreibreform 2006
64: Lateinisch
65: Deutsch: Österreich
66: Englisch: USA
67: Englisch: USA Medizin
68: Englisch: USA Recht
69: Französisch
70: Spanisch
71: Italienisch
72: Englisch: Großbritannien
73: Schwedisch
74: Dänisch
75: Norwegisch: Bokmål
76: Portugiesisch
77: Portugiesisch: Brasilien
78: Französisch: Kanada
79: Norwegisch: Nynorsk
80: Finnisch
81: Katalanisch
82: Russisch
83: Bulgarisch
84: Tschechisch
85: Polnisch
86: Rumänisch
87: Griechisch
88: Türkisch
89: Ungarisch
90: Englisch: Kanada
91: Slowakisch
92: Kroatisch
93: Estnisch
94: Lettisch
95: Litauisch
96: Slowenisch
97: Niederländisch: Alte Rechtschreibung
98: Niederländisch: Rechtschreibreform 2005
99: Ukrainisch
100: Hebräisch
101: Arabisch
Execution finished.


InDesign CS4 (Win):
Code
58:	[No Language] 
59: English: USA
60: English: USA Medical
61: English: USA Legal
62: French
63: Spanish
64: Italian
65: English: UK
66: Swedish
67: Danish
68: Norwegian: Bokmål
69: Portuguese
70: Portuguese: Brazilian
71: French: Canadian
72: Norwegian: Nynorsk
73: Finnish
74: Catalan
75: Russian
76: Bulgarian
77: Czech
78: Polish
79: Romanian
80: Greek
81: Turkish
82: Hungarian
83: English: Canadian
84: Slovak
85: Croatian
86: Estonian
87: Hebrew
88: Latvian
89: Lithuanian
90: Slovenian
91: German: Old Rules
92: German: 1996 Reform
93: German: 2006 Reform
94: Dutch: Old Rules
95: Dutch: 2005 Reform
96: German: Swiss
97: German: Swiss 2006 Reform
98: Ukrainian
99: Arabic
100: Farsi


Das schafft bei mir nicht die nötige Vertrauensgrundlage, dass die IDs der Sprachen bei meinem Nachbarn mit denjenigen von meinem Arbeitsplatz korrespondieren. ;-)

Aber sei's drum.
Wer interessiert sich jetzt noch für IDs, wo eine - zumindest für mich – bequemere Methode zur Adressierung der Sprache über den Namen gefunden ist.


als Antwort auf: [#524308]
(Dieser Beitrag wurde von Martin Fischer am 1. Mär 2014, 16:35 geändert)

Dt. Sprachen über ihre Namen adressieren

WernerPerplies
Beiträge gesamt: 2763

1. Mär 2014, 16:45
Beitrag # 11 von 27
Beitrag ID: #524310
Bewertung:
(7772 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Herr Fischer,

Zitat es ist die Frage, auf was sich der Begriff "unique" bezieht.
Auf alle ID-Installationen und -Versionen weltweit?
Oder auf die aktuell, lokal ausgeführte Version.


Meine Vermutung war falsch, uniqe ist für InDesign nicht eindeutig, meine IDs unterscheiden sich von Ihren, jetzt vermute ich, dass Sie vielleicht vom Hersteller der Module abhängig sind.


als Antwort auf: [#524308]

Dt. Sprachen über ihre Namen adressieren

WernerPerplies
Beiträge gesamt: 2763

1. Mär 2014, 17:11
Beitrag # 12 von 27
Beitrag ID: #524311
Bewertung:
(7741 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Herr Fischer,

was halten von dieser Funktion für den Zugriff?

Code
alert(getBy(app.languagesWithVendors, "name", "Deutsch: Schweiz 2006 Rechtschreibreform").name); 
function getBy(/*objectCollection*/oc, /*String*/property, /*Any*/what)
{
for (var i = 0; i<oc.length; i++)
{
if (property in oc[i])
{
if ((oc[i][property] != null) && (oc[i][property]==what))
return oc[i];
}
}
return null;
}


Diese Funktion sollte das jeweils erste übereinstimmende Objekt für eine beliebige Eigenschaft finden.


als Antwort auf: [#524309]

Dt. Sprachen über ihre Namen adressieren

Uwe Laubender
Beiträge gesamt: 5319

1. Mär 2014, 18:36
Beitrag # 13 von 27
Beitrag ID: #524312
Bewertung:
(7709 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat von Martin Fischer Aber wie kommt er von den PageItems auf die icuLocaleNames?
Ist da beim Kopieren was durcheinandergeraten?


Hallo, Martin!
Nein, da ist nichts durcheinandergeraten. Ich untersuchte eben die document.pageItems.itemByID(n) nach fortlaufenden Zahlen.

Und nicht die unter app.languageWithVendors. Das darf man nicht verwechseln. Das sind unterschiedliche Indices…

Ich habe dann einfach bei jeder Drehung der Hauptschleife eine for x in object-Schleife gedreht und mir im ESTK alle property/value-Paare geben lassen. Und dabei war dann eben auch unter vielen anderen icuLocalNames.


als Antwort auf: [#524308]

Dt. Sprachen über ihre Namen adressieren

Martin Fischer
  
Beiträge gesamt: 12783

1. Mär 2014, 19:01
Beitrag # 14 von 27
Beitrag ID: #524315
Bewertung:
(7701 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Herr Perplies,

Antwort auf: was halten von dieser Funktion für den Zugriff?


Das sieht auch interessant aus.
Bin mobil unterwegs und dann's im Moment leider nicht testen.


als Antwort auf: [#524311]

Dt. Sprachen über ihre Namen adressieren

Uwe Laubender
Beiträge gesamt: 5319

1. Mär 2014, 19:04
Beitrag # 15 von 27
Beitrag ID: #524316
Bewertung:
(7698 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat von Werner Für mich bedeutet das, das die ID eindeutig ist, und anders, als die ID sonst in InDesign, unveränderlich ist.


Hallo, Werner!

Für mich bedeutet das "nur", dass die ID innerhalb einer bestimmten Klasse unique, also einzigartig ist. Also z.B. innerhalb aller IDs der Klasse pageItems.

Ein schöner Fall ist zum Beispiel die ID einer Tabellenzelle, die ausschließlich innerhalb einer bestimmten Tabelle einzigartig ist. Anderen Tabellenzellen aus anderen Tabellen können selbstverständlich die gleiche ID haben.


als Antwort auf: [#524307]
X

Aktuell

PDF / Print
pitstopPro_300

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
14.05.2024

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Horizon

https://www.impressed.de/schulung.php?c=sDetail&sid=327

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Nein

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!