Adobe 38040334 Extending Dreamweaver - Page 333

Determining what kind of translator to use

Page 333 highlights

DREAMWEAVER CS3 327 Extending Dreamweaver Note: To prevent JavaScript errors from interfering with startup, errors in any translator file are reported only after all translators are loaded. For more information on debugging translators, see "Finding bugs in your translator" on page 333. Dreamweaver also calls the translateMarkup() function in all applicable translator files (as specified in the Translation preferences) whenever the user might add new content or change existing content that needs translation. Dreamweaver calls the translateMarkup() function when the user performs one of the following actions: • Opens a file in Dreamweaver • Switches back to Design view after making changes in the HTML panel or in Code view • Changes the properties of an object in the current document • Inserts an object (using either the Insert bar or the Insert menu) • Refreshes the current document after making changes to it in another application • Applies a template to the document • Pastes or drags content into or within the Document window • Saves changes to a dependent file • Invokes a command, behavior, server behavior, Property inspector, or other extension that sets the innerHTML or outerHTML property of any tag object or the data property of any comment object • Selects File > Convert > 3.0 Browser Compatible • Selects Modify > Convert > Convert Tables To AP Divs • Selects Modify > Convert > Convert AP Divs To Table • Changes a tag or attribute in the Quick Tag Editor and presses Tab or Enter Determining what kind of translator to use All translators must contain the getTranslatorInfo() and translateMarkup() functions, and they must reside in the Configuration/Translators folder. They differ, however, in the kind of code that they insert into the user's document and in how that code must be inspected, as described in the following list: • To translate small pieces of server markup that determine attribute values or that conditionally add attributes to a standard HTML tag, write an attribute translator. Standard HTML tags that contain translated attributes can be inspected with the Property inspectors that are built into Dreamweaver. It is not necessary to write a custom Property inspector (see "Adding a translated attribute to a tag" on page 328). • To translate an entire tag (for example, a server-side include (SSI)) or a block of code (for example, JavaScript, ColdFusion, PHP, or other scripting), write a block/tag translator. The code that is generated by a block/tag translator cannot be inspected with the Property inspectors that are built into Dreamweaver. You must write a custom Property inspector for the translated content if you want users to be able to change the properties of the original code (see "Locking translated tags or blocks of code" on page 329).

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366
  • 367
  • 368
  • 369
  • 370
  • 371
  • 372
  • 373
  • 374
  • 375
  • 376
  • 377
  • 378
  • 379
  • 380
  • 381
  • 382
  • 383
  • 384
  • 385

DREAMWEAVER CS3
Extending Dreamweaver
327
Note:
To prevent JavaScript errors from interfering with startup, errors in any translator file are reported only after
all translators are loaded. For more information on debugging translators, see “Finding bugs in your translator” on
page 333.
Dreamweaver also calls the
translateMarkup()
function in all applicable translator files (as specified in the Trans-
lation preferences) whenever the user might add new content or change existing content that needs translation.
Dreamweaver calls the
translateMarkup()
function when the user performs one of the following actions:
Opens a file in Dreamweaver
Switches back to Design view after making changes in the HTML panel or in Code view
Changes the properties of an object in the current document
Inserts an object (using either the Insert bar or the Insert menu)
Refreshes the current document after making changes to it in another application
Applies a template to the document
Pastes or drags content into or within the Document window
Saves changes to a dependent file
Invokes a command, behavior, server behavior, Property inspector, or other extension that sets the
innerHTML
or
outerHTML
property of any tag object or the
data
property of any comment object
Selects File > Convert > 3.0 Browser Compatible
Selects Modify > Convert > Convert Tables To AP Divs
Selects Modify > Convert > Convert AP Divs To Table
Changes a tag or attribute in the Quick Tag Editor and presses Tab or Enter
Determining what kind of translator to use
All translators must contain the
getTranslatorInfo()
and
translateMarkup()
functions, and they must reside
in the Configuration/Translators folder. They differ, however, in the kind of code that they insert into the user’s
document and in how that code must be inspected, as described in the following list:
To translate small pieces of server markup that determine attribute values or that conditionally add attributes to a
standard HTML tag, write an attribute translator. Standard HTML tags that contain translated attributes can be
inspected with the Property inspectors that are built into Dreamweaver. It is not necessary to write a custom
Property inspector (see “Adding a translated attribute to a tag” on page 328).
To translate an entire tag (for example, a server-side include (SSI)) or a block of code (for example, JavaScript,
ColdFusion, PHP, or other scripting), write a block/tag translator. The code that is generated by a block/tag trans-
lator cannot be inspected with the Property inspectors that are built into Dreamweaver. You must write a custom
Property inspector for the translated content if you want users to be able to change the properties of the original
code (see “Locking translated tags or blocks of code” on page 329).