Add a translated attribute to a tag
Read this article to learn how to add a translated attribute to a tag in Dreamweaver.
Attribute translation relies on the Dreamweaver parser to ignore server markup. By default, Dreamweaver already ignores the most common kinds of server markup (including ASP, CFML, and PHP). If you use server markup that has different opening and closing markers, you must modify the third-party tag database to ensure that your translator works properly.
When Dreamweaver handles preserving the original server markup, the translator generates a valid attribute value that can be viewed in the Document window. If you use server markup only for attributes that do not have a user-visible effect, you do not need a translator.
The translator creates an attribute value that has a visible effect in the Document window by adding a special attribute, mmTranslatedValue, to the tag that contains the server markup. The mmTranslatedValue attribute and its value are not visible in the HTML panel or in Code view, nor are they saved with the document.
The mmTranslatedValue attribute must be unique within the tag. If your translator needs to translate more than one attribute in a single tag, you must add a routine in the translator that appends numbers to the mmTranslatedValue attribute. For example, mmTranslatedValue1, mmTranslatedValue2, and so on.
The value of the mmTranslatedValue attribute must be a URL-encoded string that contains at least one valid attribute-value pair. This means that mmTranslatedValue="src=%22open.jpg%22" is a valid translation for both src="<? if (dayType == weekday) then open.jpg else closed.jpg" ?> and <? if (dayType == weekday) then src="open.jpg" else src="closed.jpg" ?>. As mmTranslatedValue="%22open.jpg%22" contains only the value, not the attribute, it is not valid for either example.
Translate more than one attribute at a time
The mmTranslatedValue attribute can contain more than one valid attribute-value pair. Consider the following untranslated code:
<img <? if (dayType==weekday) then src="open.jpg" width="320" height="100" else src="closed.jpg" width="100" height="320" ?> alt="We're open 24 hours a day from 12:01am Monday until 11:59pm Friday">
The following example shows how the translated markup might appear:
<img <? if (dayType==weekday) then src="open.jpg" width="320" height="100" else src="closed.jpg" width="100" height="320" ?> mmTranslatedValue="src=%22open.jpg%22 width=%22320%22 height=%22100%22" alt="We're open 24 hours a day from 12:01am Monday until 11:59pm Friday">
The spaces between the attribute-value pairs in the mmTranslatedValue attribute are not encoded. Dreamweaver looks for these spaces when it attempts to render the translated value. Thus each attribute-value pair in the mmTranslatedValue attribute must be encoded separately and then pieced back together to form the full mmTranslatedValue attribute. To view an example of this process, see A simple attribute translator example.