Localizing an extension

 < Day Day Up > 

Use the following techniques to make it easier to translate your extensions into local languages.

  • Separate extensions into HTML and JavaScript files. The HTML files can be replicated and localized; the JavaScript files are not localized.

  • Do not define display strings in the JavaScript files (check for alerts and UI code). Extract all localizable strings into separate XML files in the Dreamweaver Configuration/Strings folder.

  • Do not write JavaScript code in the HTML files except for required event handlers. This eliminates the need to fix a bug multiple times for multiple translations after the HTML files are replicated and translated into other languages.

XML String files

Store all strings in XML files in the Dreamweaver Configuration/Strings folder. If you install many related extension files, this lets you share all strings in a single XML file. If applicable, this also lets you refer to the same string from both C++ and JavaScript extensions.

You could create a file called myExtensionStrings.xml. The following example shows the format of the file:

<strings> <!-- errors for feature X --> <string value="There was a with X when you did Y. Try not to do Y!"/> <string value="There was another problem with X, regarding Z. Don't ever do Z!"/> </strings>

Now your JavaScript files can refer to these translatable strings by calling the dw.loadString() function, as shown in the following example:

 function initializeUI()  {    ...     if (problemYhasOccured)    {      alert(dw.loadString("featureX/subProblemY");    } } 

You can use slash (/) characters in your string identifiers, but do not use spaces. Using slashes, you can create a hierarchy to suit your needs, and include all the strings in a single XML file.

NOTE

Files that begin with cc in the Configuration/Strings folder are Contribute files. For example, the file ccSiteStrings.xml is a Contribute file.


Localizable Strings with Embedded Values

Some display strings have values embedded in them. You can use the errMsg() function to display these strings. You can find the errMsg() function, which is similar to the printf() function in C, in the string.js file in the Configuration/Shared/MM/Scripts/CMN folder. Use the placeholder characters percent sign (%) and s to indicate where values should appear in the string and then pass the string and variable names as arguments to errMsg(). For example:

 <string  value="File %s could not be found in folder %s."/> 

The following example shows how the string, along with any variables to embed, is passed to the alert() function.

 if (fileMissing)  {   alert( errMsg(dw.loadString("featureX/fileNotFoundInFolder"),fileName, folderName) ); } 

     < Day Day Up > 


    Developing Extensions for Macromedia Dreamweaver 8
    Developing Extensions for Macromedia Dreamweaver 8
    ISBN: 0321395409
    EAN: 2147483647
    Year: 2005
    Pages: 282

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net