[GastForen Programme Print/Bildbearbeitung Adobe InDesign Sprache wechseln, per JavaScript

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

Sprache wechseln, per JavaScript

Hans Haesler
Beiträge gesamt: 5822

6. Dez 2006, 11:56
Beitrag # 1 von 4
Bewertung:
(2003 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Leute,

ja, dieses Thema hatten wir schon mehrmals ...

Aber beim Ausprobieren der Beispiele sind mir zwei Dinge aufgefallen:
1. In leeren Textrahmen wird die Sprache nicht geändert.
2. In leeren Tabellenzellen auch nicht.

Abhilfe:
1. Nicht die Absätze, sondern nur die Stories adressieren.
Code
app.documents[0].stories.everyItem().appliedLanguage = "French"; 

2. Eine Zeile einfügen, welche den letzten InsertionPoint behandelt.
Code
app.documents[0].stories.everyItem().tables.everyItem().cells.everyItem().insertionPoints[-1].appliedLanguage = "French"; 

Ich habe jetzt mein Script erweitert.

Ein Dialog zeigt die Liste der Sprachen. Das Script merkt sich die zuletzt
gewählte und schlägt sie bei der nächsten Ausführung vor.

Wenn kein Dokument geöffnet ist, kann der Ordner, welcher die InDesign-
Dokumente enthält, gewählt werden. Die Dokumente werden nicht sichtbar
geöffnet, aber man sieht den Fortschritt am Titelbalken.

Wenn Dokumente offen sind, dann geht sie das Script der Reihe nach durch
und zeigt einen Bestätigungsdialog. Man kann also bei jedem Dokument
entscheiden, ob die Sprache gewechselt werden soll oder nicht.

Dieses Script ist erhältlich für Macintosh und Windows, in deutsch und
in französisch: http://www.fachhefte.ch / den Link "JavaScripts" anklicken
und im entsprechenden Verzeichnis die Datei "SpracheWechseln" wählen.

Gruss, Hans
X

Sprache wechseln, per JavaScript

Martin Fischer
  
Beiträge gesamt: 12691

6. Dez 2006, 23:47
Beitrag # 2 von 4
Beitrag ID: #265823
Bewertung:
(1979 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

die Absicht hinter dieser Zeile verstehe ich nicht:
Code
app.documents[0].stories.everyItem().tables.everyItem().cells.everyItem().insertionPoints[-1].appliedLanguage = "French"; 

Willst Du damit die leeren Zellen für die neue Sprache vorbereiten oder möchtest Du die neue Sprache auch allen bisherigen Zellinhalten zuweisen?

Dafür könntest Du die Spracheigenschaft des [b]Textobjekts der Zellen definieren:
Code
  
app.documents[0].stories.everyItem().tables.everyItem().cells.everyItem().texts[0].appliedLanguage = "French";


Analog dazu könntest Du auch bei den Textflüssen gezielt auf das Textobjekt Einfluß nehmen:
Code
app.documents[0].stories.everyItem().texts[0].appliedLanguage = "French"; 



als Antwort auf: [#265682]

Sprache wechseln, per JavaScript

Hans Haesler
Beiträge gesamt: 5822

7. Dez 2006, 00:23
Beitrag # 3 von 4
Beitrag ID: #265827
Bewertung:
(1971 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

das Ziel ist, dass jeder Zelle – egal ob leer oder mit Text versehen –,
die neue Sprache zugewiesen wird.

Das Textobjekt kenne ich zwar, habe es aber (aus Mangel an Erfahrung)
bei der Suche zur Lösung dieses Problems nicht ausprobiert.

Ja, es stimmt, mit Deinem Vorschlag können die Tabellenzellen mit
einer Zeile behandelt werden. Bei den normalen Stories, hingegen,
bringt es nichts, ein 'texts[0]' einzufügen.

Die vereinfachten Versionen 03 dieses Scripts werde ich im Laufe des
heutigen Vormittags bereitstellen.

Gruss, Hans


als Antwort auf: [#265823]

Sprache wechseln, per JavaScript

Hans Haesler
Beiträge gesamt: 5822

7. Dez 2006, 08:48
Beitrag # 4 von 4
Beitrag ID: #265836
Bewertung:
(1949 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Leute,

jetzt sind die optimierten Versionen 03 der SpracheWechseln-
JavaScripts verfügbar: http://www.fachhefte.ch / Link "JavaScripts".

Wie schon gesagt: Nützlich, weil nicht nur das aktive Dokument,
sondern alle geöffneten Dokumente behandelt werden können.
Und sogar ein Ordner mit InDesign-Dokumenten.

Danke, Martin, für die Rückmeldung!

Gruss, Hans


als Antwort auf: [#265827]
X