left menu mob button

Новое на канале:

Если любишь жизнь, не трать время зря, потому что жизнь состоит из времени. (Б. Франклин)


Комментарии

Christian Geiselmann
(17.07.2019 16:18):

Extremely useful! A real time-saver for projects with many pages such as book!

(Выравнивание фрейма через контекстное меню)

Christian Geiselmann
(17.07.2019 16:11):

This tiny script comes in very handy for large projects such as books, especially when you have to share documents with colleagues. Works flawlessly for me. (Win 7, Indesign CC 2018). Thank you!

(Объём связанных файлов на диске)

Christian Geiselmann
(17.07.2019 15:43):

Thank you for the bugfix. This works much better now, with a very nice report about changes made displayed at the end. -- Here is however a second issue: I notice that in my current project not all Paragraph Styles are included in the operation. It seems, a number of Paragraph Styles are simply ignored. -- Background: I am searching for "Englisch UK", and replacing it with various other languages such as Spanish, German 2006 reform, Greek etc. -- My current project has about 100-150 Paragraph Styles (I did not count them). They are organised in two levels of folders. -- I tried to find a pattern, and it seems, especially those Paragraph Styles are affected that are inside a second-levels folder hierarchy (Paragraph Styles can be grouped into folders and subfoldrs). When I disintegrate my folder structure and use only first level folders the script seems to work well. -- So, question: would it be possible to make the scrip work also with two-level folder structures?

(Изменить язык в стилях и по тексту)

только нужной информации

(серия статей):

Скрипт не появился в меню, или Ещё раз о локализации

«Я сделал(а) всё по инструкции, разместил(а) скрипт в правильной папке, перезапустил(а) InDesign, а скрипт в меню не появился», — с такой ситуацией могут столкнуться пользователи при попытке использовать скрипты, предназначенные для встраивания в различные меню программы. Тема эта была подробно рассмотрена в статье «Доступ к скрипту из локализованного меню», однако, вопросы продолжают поступать, а значит, есть необходимость ещё раз, покороче, поконкретнее и пошагово разобраться, почему после выполнения всех инструкций InDesign отказывается расширять таким образом свой функционал, и как же всё-таки с ним «договориться» и увидеть, в конце концов, нужный пункт меню, вызывающий нужный скрипт.

Есть две основные причины, по которым скрипт, помещённый в папку startup scripts и содержащий в себе код для встраивания в меню, может в этом меню не появиться. Первая причина — локализация программы. То есть, скрипт был написан для встраивания в английское меню, а пользователь использует, например, русскую версию программы.

Вторая причина — использование в каждом конкретном случае по-своему расширенного функционала InDesign, дополнительных плагинов и т. п. Такие надстройки могут добавлять свои пункты меню, из-за которых сдвигается индексация следующих за ними пунктов, а скрипт запрограммирован не на имя меню, а на его индекс.

Рассмотрим оба случая.

Первое, что нужно сделать, — это открыть код скрипта для редактирования и найти строки, отвечающие за встраивание скрипта в соответствующее меню.

За встраивание в верхнее меню, вероятнее всего, будет отвечать строка, похожая на такую:

var mnu = app.menus.item("$ID/Main").submenus.item("$ID/Type");

В этом случае достаточно изменить содержимое второй скобки на название, соответствующее вашей локализации:

var mnu = app.menus.item("$ID/Main").submenus.item("$ID/Текст");

Если же скрипт должен быть встроен в контекстное меню, то лучше всего, не теряя времени на эксперименты с переименованием, определить и указать скрипту индекс нужного меню.

Для этого нужно открыть программу ExtendScript Toolkit, задать целевое приложение (Adobe InDesign) и выполнить такой скрипт:

for (var i = 0; i < app.menus.length; i++){ 
	$.writeln(i + ": " + app.findKeyStrings(app.menus.item(i).name)); 
	}

localmenuen3

В полученном в консоли списке надо найти нужное меню и вставить его индекс в строке скрипта, которая может выглядеть примерно так:

var rMouseMnu = app.menus.item("$ID/RtMouseText");

или так:

var cm = localize({en:"var rMouseMnu = app.menus[103]",ru:"var rMouseMnu = app.menus[16]"});

либо проще:

var rMouseMnu = app.menus[16];

Число в квадратных скобках — тот самый индекс, который нужно исправить. Если вы используете русскую версию версию программы, и в скрипте уже есть значение для вашей локализации, то это значение всё равно может отличаться на 1-2 в силу того, что вы можете использовать какие-то дополнительные надстройки, как уже писалось выше.

Ту же операцию по поиску и замене нужного индекса меню следует повторить, если скрипт пропал из контекстного меню после установки очередных обновлений InDesign.

Вот и всё, после этого нужно перезапустить InDesign и проверить нужное меню.


Скрипты, доступные на сайте, которые встраиваются в различные меню:

Комментариев нет.

Оставить комментарий:

Имя*:
E-mail*:
Текст комментария*:
Код безопасности*: