Скрипт не появился в меню, или Ещё раз о локализации
«Я сделал(а) всё по инструкции, разместил(а) скрипт в правильной папке, перезапустил(а) 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)); }
В полученном в консоли списке надо найти нужное меню и вставить его индекс в строке скрипта, которая может выглядеть примерно так:
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 и проверить нужное меню.
Скрипты, доступные на сайте, которые встраиваются в различные меню:
- Точное выравнивание таблицы
- Разбить текст на фреймы по абзацам
- Выравнивание фрейма через контекстное меню
Комментариев нет.
Ещё статьи:
- Быстрое форматирование
- Быстрое вращение разворота
- Перекрёстная ссылка в два клика
- Доступ к скрипту из локализованного меню
- Экспорт из InDesign в html: тегируем символьные стили
- Экспорт из InDesign в html-2: тегируем абзацы
- Экспорт из InDesign в html-3: таблицы
- Экспорт из InDesign в html-4: работа с изображениями и гиперссылками
- Локализованное меню: приключения продолжаются
- Как организовать доступ к списку стилей через Пользовательский интерфейс
Ещё статьи:
- Быстрое форматирование
- Быстрое вращение разворота
- Перекрёстная ссылка в два клика
- Доступ к скрипту из локализованного меню
- Экспорт из InDesign в html: тегируем символьные стили
- Экспорт из InDesign в html-2: тегируем абзацы
- Экспорт из InDesign в html-3: таблицы
- Экспорт из InDesign в html-4: работа с изображениями и гиперссылками
- Локализованное меню: приключения продолжаются
- Как организовать доступ к списку стилей через Пользовательский интерфейс