Quantcast
Channel: Adobe Community : All Content - FrameMaker Scripting
Viewing all articles
Browse latest Browse all 888

Localisation problem

$
0
0

Friends and experts,

On my English Win7-x64 with FrameMaker 14.0.2.425 (en) I have this very simple script, which I also tested on the machine of my wife (Win7-x32, German) with the German version of FM 14.0.2.425:

/* ETBtest.jsx   To be placed in Startup folder of user area */
#target framemaker

alert ("Testing $.locale= " + $.locale);
var gsETBtest_title = { en: "Testing a jsx script in %apdata%\...\FrameMaker\vv\Startup [ETB]",
                        de: "Test eines jsx scripts in %apdata%\...\FrameMaker\vv\Startup[ETB]"                      };
var gsETBtest_msg   = { en: "Befor You test your own script, rename this script to ETBtest-ori.jsx"                          + "\n• Name Your script ETBtest.jsx"                          + "\n• You can now invoke it from the ETB tool-bar Extra (last icon)."                          + "\n\nAfter your tests please rename ETBtest-ori.jsx back to ETBtest.jsx",                        de: "Vor dem test Ihres scripts bitte dieses script auf ETBtest-ori.jsx umbenennen"                          + "\n• Benennen Sie ihr script ETBtest.jsx"                          + "\n• Nun kann ihr script von der ETB tool-bar Extra (letztes icon) aufgerufen werden."                          + "\n\nNach den tests bitte ETBtest-ori.jsx zurück benennen auf ETBtest.jsx"                      };
var gsETBtest_NoDoc = { en: "No book or document active",                        de: "Kein buch oder dokument aktiv"                      };

SetUpMenu();                                      // out-comment for debugging

function SetUpMenu() { // =========================================================================
// This function MUST NOT be named DefineMenu - because this is a reserved function!
// Errors in ESTK: Menu position can not be changed - see bug report FRMAKER-2752
// No menu is defined here - it is set up in customui.cfg / menus.cfg
  var cmdDoc = DefineCommand (1, "ETBtest", "Test a script [ETB]", "");  UpdateMenus();
} // --- end SetUpMenu

function Command(cmd) { // ========================================================================
    switch(cmd)  {                                    // Respond to menu command.        case 1:      WhatIsToDo();      break;    }
} // --- end Command

function WhatIsToDo () { // === This is what the test script will do ===============================
  alert (localize(gsETBtest_msg), localize(gsETBtest_title));  return;
}

On my English system/FM the alert reports

  Script Alert  Testing $.locale= 2

and the invoked script (by button) reports the en message from the gsETBtest_msg object.

 

On the German system/FM the alert reports

  Script Fehler  Testing $.locale= 3

and the invoked script (by button) reports the en message from the gsETBtest_msg object.

 

I get the German 'reaction' of the script only if I insert on the top of the script - which of course is not very useful for a bi-lingual script:

  $.locale = "de";

 

What goes wrong here?

The method is described in JavaScript Tools Guide of CS5.

 

By the way: changing the order of the string declarations (have de first, en second) has no effect on both systems.


Viewing all articles
Browse latest Browse all 888

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>