0

I have a big file with hundreds of images and texts. I need to export all the texts in order to send them to the translator. I know I can do it with the variables, but its still a long process because I have to select every single text box and create a text variable with an univocal name out of that. Does anyone know if there is a way to automatize this process? Maybe with the Actions?

  • 1
    This question appears to be off-topic because while you're using software that is generally used for design, this question doesn't appear to have anything to do with design. – Ryan Sep 10 '14 at 15:22
  • This sounds like a design workflow question for anyone working on a project involving translation. If you just need to extract the text, you can do it with two downloadable scripts ("Convert to point text" and then "Join text frames"), then that'll give you a massive text frame you can copy and paste from. If you need variables, that's much harder... If you can't get an action to work, I might try Adobe's scripting forums – user56reinstatemonica8 Sep 10 '14 at 16:33
  • 1
    I would suggest looking into Illustrator scripting – DᴀʀᴛʜVᴀᴅᴇʀ Sep 10 '14 at 17:52
  • Actions is not capable of that type of work. – Rosenthal Sep 10 '14 at 20:55
  • Thank you for replying, I'm sorry if I got off-topic, I just discovered this website and I still don't know the rules. Should I move it? @user568458 > This sounds like a design workflow question for > anyone working on a project involving translation. I've never done it before. Is there a standard way to do it, maybe faster than using variables? After extracting the text I need to replace the translated one in the same position – Mauro Sep 12 '14 at 7:48
3
+500

this script targets the active layer, it creates variables and binds them to each text frame

#target illustrator

// script.name = makeActiveLayerTextDynamic.jsx;
// script.description = makes ALL text in the Active Layer Dynamic, creates Variables;
// script.required = one document with at leas one textFrame;
// script.parent = CarlosCanto // 04/17/14;
// script.elegant = false;

var idoc = app.activeDocument;
var ilayer = idoc.activeLayer;


for (i=0; i<ilayer.textFrames.length; i++) {
    var itext = ilayer.textFrames[i];
    var idocvar = idoc.variables.add();
    idocvar.kind = VariableKind.TEXTUAL;

    try {itext.contentVariable = idocvar}
    catch (e) {idocvar.remove()}
}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.