- Сообщения
- 278
- Реакции
- 81
Apple script и не только.
Сначала о чем речь.
В зависимости от языка InDesign может возвращать различные слова о том, что от него требуется. Например, английская версия индзиайна скажет, что картинка "grayscale", а русская - "градации серого". Если в скрипте разрешить "grayscale", то локализованный по-русски индизайн выдаст инфо по картинке "градации серого" и при сравнении в скрипте с "grayscale" получим false - нельзя!
В тоже время можно "спросить" индизайн - а как это слово звучит на твоем языке?:
set NNN to translate key string for "$ID/Grayscale" -- applescript
var NNN = app.TranslateKeyString( "$ID/Grayscale" ) // javascript
В NNN в итоге окажется фраза, которая соответствует текущей локализации InDesign (см. выше).
Мое мнение такое, что скрипт не должен зависеть от локализации программы, которой он управляет. Поэтому я использую именно указанную команду - "translate key string".
А теперь вопрос. А где найти список этих "$ID/..."?
Попробуйте, к примеру, найти, что для BitMap картинки нужно спросить о "$ID/#Links_Black and White",а о "Edit Original" - "$ID/#LinksUIEditOriginalLinkMenu" или узнать, что используется Detect Edges - "$ID/ObjStylesContourDetectEdges"!
Спасает команда find key strings (app.FindKeyStrings() для JS).
Хочу полный список команд "$ID/..."!!! Где он есть?
P.S. Не надо предлагать список MenuActions который легко получить:
set MA to menu actions
Это совсем не то.
Сначала о чем речь.
В зависимости от языка InDesign может возвращать различные слова о том, что от него требуется. Например, английская версия индзиайна скажет, что картинка "grayscale", а русская - "градации серого". Если в скрипте разрешить "grayscale", то локализованный по-русски индизайн выдаст инфо по картинке "градации серого" и при сравнении в скрипте с "grayscale" получим false - нельзя!
В тоже время можно "спросить" индизайн - а как это слово звучит на твоем языке?:
set NNN to translate key string for "$ID/Grayscale" -- applescript
var NNN = app.TranslateKeyString( "$ID/Grayscale" ) // javascript
В NNN в итоге окажется фраза, которая соответствует текущей локализации InDesign (см. выше).
Мое мнение такое, что скрипт не должен зависеть от локализации программы, которой он управляет. Поэтому я использую именно указанную команду - "translate key string".
А теперь вопрос. А где найти список этих "$ID/..."?
Попробуйте, к примеру, найти, что для BitMap картинки нужно спросить о "$ID/#Links_Black and White",а о "Edit Original" - "$ID/#LinksUIEditOriginalLinkMenu" или узнать, что используется Detect Edges - "$ID/ObjStylesContourDetectEdges"!
Спасает команда find key strings (app.FindKeyStrings() для JS).
Хочу полный список команд "$ID/..."!!! Где он есть?
P.S. Не надо предлагать список MenuActions который легко получить:
set MA to menu actions
Это совсем не то.