Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » Rechtschreibung im ganzen Dokument ändern

Rechtschreibung im ganzen Dokument ändern

ivan
Beiträge gesamt: 37

6. Nov 2008, 16:40
Bewertung:

gelesen: 5310

Beitrag als Lesezeichen
Hallo zusammen,
ich habe dieses tolle Script gefunden, das mir die Standard Rechtschreibung im InDesign auf eine neue gewünschte umstellt.

http://www.hilfdirselbst.ch/..._P193306.html#193306

Leider funktioniert dieses Script nicht mehr in CS3, wenn Formatgruppen (Absatzformat in Gruppe) angewendet werden.

Es wäre toll, wenn man die 3 Scripte (Absatz,Absatzformate,Tabellen) mit einem Aufruf ändern könnte. Momentan generiert es eine Fehlermeldung (Script Fehler), wenn keine Tabellen vorhanden sind.

Vielen Dank für eure Hilfe

Code
// Sprache ersetzen in Tabellen 
app.documents[0].stories.everyItem().tables.everyItem().cells.everyItem().paragraphs.everyItem().appliedLanguage="German: Swiss";

// Sprache ersetzen in Absätzen
app.documents[0].stories.everyItem().paragraphs.everyItem().appliedLanguage="German: Swiss";

// Sprache ersetzen in Absatzformaten
myDoc=app.documents[0];
myLanguage="German: Swiss";
myStyles=myDoc.paragraphStyles;
for (oneStyle=1;oneStyle<myStyles.length;oneStyle++){
myStyles[oneStyle].appliedLanguage=myLanguage;
}


(Dieser Beitrag wurde von ivan am 6. Nov 2008, 16:42 geändert)

Rechtschreibung im ganzen Dokument ändern

Peter Sauseng
Beiträge gesamt: 484

7. Nov 2008, 07:03
Bewertung:

gelesen: 5273

Beitrag als Lesezeichen
Hallo Ivan,

ich habe das für die "Neue Rechtschreibung (2006)" so gelöst:

Code
 
// Neue_Rechtschreibung_generell.jsx
app.scriptPreferences.version = 4.0;
var myDoc = app.documents[0];
var myFootnotes = myDoc.stories.everyItem().footnotes;
var myTables = myDoc.stories.everyItem().tables;

if (app.documents.length != 0){
// Jede beliebige Rechtschreibung wird durch "Neue Rechtschreibung" ersetzt
myDoc.stories.everyItem().paragraphs.everyItem().appliedLanguage="de_DE_2006";
if (myFootnotes.length > 0){
myFootnotes.everyItem().paragraphs.everyItem().appliedLanguage="de_DE_2006";
}
if (myTables.length > 0){
myTables.everyItem().cells.everyItem().paragraphs.everyItem().appliedLanguage="de_DE_2006";
}
alert ("Jede beliebige Rechtschreibung wurde durch 'Deutsch: Neue Rechtschreibung (Rechtschreibrefom 2006)' ersetzt");
}
else{
alert ("Kein Dokument geöffnet.");
}


In den Absatzformaten habe ich sowieso die gewünschte Sprache voreingestellt. Nur beim Import von Word-Texten wird die Sprache ja von Word übernommen und nicht vom InDesign-Absatzformat. Deshalb das Script.

Liebe Grüße, Peter

Rechtschreibung im ganzen Dokument ändern

ivan
Beiträge gesamt: 37

7. Nov 2008, 08:00
Bewertung:

gelesen: 5264

Beitrag als Lesezeichen
Hallo Peter,
danke für die Antwort.

Wir haben fremdsprachige Dokumente aus der z.B eine Tabelle kopiert wird. Dementsprechend wird auch das Absatzformat mitgenommen und das ist in einer Formatgruppe.

Ich muss sichergehen, dass die Rechtschreibung komplett ersetzt wird. Also auch in Formatgruppen sowie in allen Zellen und Absätzen.

Deine Variante ist gut, leider werden die Absatzformate sowie die leeren Zellen nicht in die andere Sprache versetzt.

Schön wäre es, wenn....

in allen Absätzen
in Absatzformaten
in Formatgruppen darinliegenden Formate
in Tabellen (Zellen auch leere)

Das erste Script macht das aber nicht in Formatgruppen.... und es prüft nicht, ob eine Zelle vorhanden ist oder nicht (Wenn keine Tabelle vorhanden tritt ein Fehler auf).

Gruss Ivan

(Dieser Beitrag wurde von ivan am 7. Nov 2008, 08:03 geändert)

Rechtschreibung im ganzen Dokument ändern

ivan
Beiträge gesamt: 37

7. Nov 2008, 08:11
Bewertung:

gelesen: 5255

Beitrag als Lesezeichen
Hallo Peter,
habe nochmals die Scripte geprüft.

Beide Scripte ersetzen in einer leeren Zelle nicht die Rechtschreibung. Mit dem kann man sicher leben ;o)...

Wäre toll, wenn man dies mit der Formatgruppe noch lösen könnte.

Gruss und Danke
Ivan

Rechtschreibung im ganzen Dokument ändern

Hans Haesler
Beiträge gesamt: 5826

7. Nov 2008, 08:42
Bewertung:

gelesen: 5248

Beitrag als Lesezeichen
Hallo Ivan,

das JavaScript SpracheWechseln_06d.js kümmert sich auch um Formate in Gruppen.

Du findest es hier: http://www.fachhefte.ch / Link "JavaScripts", die Ordner "mac_os_x_d" (oder "windows_d") und "indesign_cs3" öffnen und die Datei "SpracheWechseln.sit" (oder "SpracheWechseln.zip") wählen.

Gruss, Hans

Rechtschreibung im ganzen Dokument ändern

Peter Sauseng
Beiträge gesamt: 484

7. Nov 2008, 08:49
Bewertung:

gelesen: 5244

Beitrag als Lesezeichen
So sollte es einmal mit den Formatgruppen gehen:
Code
var myDoc = app.documents[0]; 
var myFootnotes = myDoc.stories.everyItem().footnotes;
var myTables = myDoc.stories.everyItem().tables;
var myStyleGroups = myDoc.paragraphStyleGroups;
var myStyles=myDoc.paragraphStyles;
var myLanguage = "German: Swiss";

if (app.documents.length != 0){
myDoc.stories.everyItem().paragraphs.everyItem().appliedLanguage=myLanguage ;
if (myFootnotes.length > 0){
myFootnotes.everyItem().paragraphs.everyItem().appliedLanguage=myLanguage;
}
if (myTables.length > 0){
myTables.everyItem().cells.everyItem().paragraphs.everyItem().appliedLanguage=myLanguage;
}
for (oneStyle=1;oneStyle<myStyles.length;oneStyle++){
myStyles[oneStyle].appliedLanguage=myLanguage;
}
for (oneStyleGroup=0;oneStyleGroup<myStyleGroups.length;oneStyleGroup++){
for (oneStyle=0;oneStyle<myStyleGroups[oneStyleGroup].paragraphStyles.length;oneStyle++){
myStyleGroups[oneStyleGroup].paragraphStyles[oneStyle].appliedLanguage=myLanguage;
}
}
alert ("Jede beliebige Rechtschreibung wurde durch '" + myLanguage + "' ersetzt");
}
else{
alert ("Kein Dokument geöffnet.");
}


Das mit den leeren Zellen kann ich mir später anschauen.

Liebe Grüße, Peter

(Dieser Beitrag wurde von redbull am 7. Nov 2008, 08:52 geändert)

Rechtschreibung im ganzen Dokument ändern

Peter Sauseng
Beiträge gesamt: 484

7. Nov 2008, 09:00
Bewertung:

gelesen: 5238

Beitrag als Lesezeichen
Wenn Du in der Zeile
"myTables.everyItem().cells.everyItem().paragraphs.everyItem().appliedLanguage=myLanguage; "
das "paragraphs" durch "characters" ersetzt, dann funktioniert es auch bei leeren Zellen.
Allerdings wird das Skript bei umfangreichen Tabellen möglicherweise etwas langsam, da jedem Zeichen in einer Zelle die Sprache zugewiesen wird und nicht absatzweise.
Da gibt es sicher bessere Lösungen.
Z.B. könnte man abfragen, ob eine Zelle leer ist, und nur DANN jedem Zeichen die Sprache zuweisen... oder vielleicht gibt es noch eine bessere Lösung.

Liebe Grüße, Peter

Rechtschreibung im ganzen Dokument ändern

ivan
Beiträge gesamt: 37

7. Nov 2008, 09:10
Bewertung:

gelesen: 5228

Beitrag als Lesezeichen
Hallo zusammen,
einmal herzlichen Dank für die schnellen Antworten!

Ich habe mal das Script von http://www.fachhefte.ch ausprobiert und das ist genau das, was ich gesucht habe.

Vorallem das DropDown Menü am Anfang ist genial, man kann die Default Sprache direkt auswählen, das Script ersetzt gnadenlos die Rechtschreibung durch eine andere.

Vielen Dank
Ivan

(Dieser Beitrag wurde von ivan am 7. Nov 2008, 09:11 geändert)