User interface component properties or string resource items can contain XML data instead of plain text. In most cases this XML data has elements that contain string data. Only the string data need to be localized. The rest of the XML element need to be left at it is. Without embedded XML data feature a single row will contains all raw XML data. This may be very hard to translate and it is also likely that the translated XML data will become invalid. In order to make translation of embedded XML data easy and safe Sisulizer can handle string data as XML. User selects the element that should belocalized and Sisulizer breaks the XML data into several different part. Each part will be on its own row and each part contains plain text that is easy to translate.
Let's have an example. We have a string resource item that contains the following XML data:
<?xml version="1.0"?> <data caption="Name"> <code>123</code> <header>Report</header> <color>0xFFFFFF</color> <footer>Internal</footer>
As you can see the XML contains three elements that need to be localized. If we set the row using XML and mark caption attribute, header and footer elements Sisulizer will replace the original row with three different rows.
Each row is a separate translation entity and it is translated independently. The advantage of splitting XML data is that in most cases the XML format must be exactly right. If XML data is shows on the translation sheet as it is, it is possible that translator will enter invalid XML format. To prevent that you can make Sisulizer to parse string data as XML.
Embedded XML and HTML data can be used in the following source types:
|Platform||Description||Sample that demonstrates how to use combined strings|
|Delphi and C++Builder
|Custom and string resources||<sldir>\VCL\Delphi\Combined
|.NET||Custom and string resources||<sldir>\NET\CSharp\Combined