Usually this is the result of:
- Not checked tags/attributes with localizable values in XML source properties (“Tags” tab)
- Incorrectly item kind of selected tag/attribute in XML source properties (“Tags” tab)
Below is a short description of tags management features, and solutions for resolving above mentioned issues.
1. Description for tags management
Sisulizer offers a smart and advanced solution for XML contents management by “Tags” tab of XML source properties dialog. This dialog is available via “Project” menu -> “Edit source” -> your XML source file. You can also open this dialog via “Properties” item in context menu of your XML source node in Sisulizer’s Project Tree.
Main item of “Tags” tab is tree with hierarchical structure of tags and attributes detected by Sisulizer in your source XML file.
You can quickly find all items enabled to localization in your Sisulizer project, because these items are marked by checkmark symbols in tags tree. You can see it on above screenshot.
You can find in tags tree following item kinds:
- Normal Value
- Context Value
- Localize value
Usually you can change this value via context menu of tags tree item (in some cases these items are unavailable, but it depends on source file structure ).
Normal Value – this is standard item, and probably most items in your XML file have set this attribute. You can localize all items with this attribute, unless disable (uncheck) it in â€œTagsâ€ tab. If your item in XML tags tree has this attribute, you should find in context menu additional menu items listed below:
- Plain text
- Binary data in hexadecimal
- Binary data in base64
- Image data in hexadecimal
- Image data in base64
- Basic or VB Script source code
- C/C++ source code
- C# source code
- Java source code
- Pascal/Delphi source code
- Perl source code
- Other programming language source code
XML language is very flexible programming language and allows on including other data type. If your XML file contains other data type, e.g. Java source code, you should find appropriated item in tags tree and select “Java source code” from context menu. If you change it Sisulizer use appropriated parser for this item instead XML parser. Incorrectly settings of data type can be also reason of missed translations in project. With Sisulizer are installed sample projects for XML files with included different data types. These examples are described in “Hints” section of this article. “Properties” item of context menu opens dialog of detailed settings for selected item.
Context Value â€“ it set up tags tree item as unique context ID value. This value is used for identify localizable strings. Of course, you canâ€™t localize items with this attribute. Context Value is indicated in tags tree by following icon:
If your XML file contains some identical items, it could be the reason of some localization issues, because it can cause ambiguous items in your Sisulizer project after changes in source. We recommend for similar cases adding unique ID attributes to your XML file, for example
<?xml version=”1.0″ encoding=”UTF-8″?>
<?xml version=”1.0″ encoding=”UTF-8″?>
…because Sisulizer can use value of that attribute as the context value of the element.
More information about this issue you can find in this our online help topic. From build 291, Sisulizer should better supports cases with non unique contexts, because with this build Sisulizer use changed context assigning method (based on string content) for new projects. Additional, you can select most appropriated for you context method via â€œOptionsâ€ tab in dialog of XML source properties.
Localize value – localize attribute is used in some XML files to control what element to localize and what element not to localize. Context Value is indicated in tags tree by following icon:
Below is some example code with this attribute:
<value localize=”true”>Localize this</value>
<value localize=”false”>Do not localize this</value>
You can set up triggers values for localize attribute in “Options” tab in dialog of XML source properties.
2. Fixing of first issue (not checked items in “Tags” tab)
You should find required tags/attributes in tags tree and double click on it. This action enables localization for all occurrences of selected tag or tag attribute, so you needn’t separately enable localization for every occurrence of required tag. For applying changes you need re-scan project, and after this operation you should to see new strings in translation sheet. Of course, you can in identical way disable tags or tag attributes from localization, that is, simply double click on checked item for uncheck it – I recommend using it for all items without localizable values (strings).
3. Fixing of second issue (incorrectly item kind in “Tags” tab)
Sisulizer tries to automatically detect and set “Context value” and “Localize value” for items matched with settings in Tools” menu -> “Platforms” -> “XML” -> “Context attributes” (of course, you can edit these values):
So, if your XML source file contains “id” attributes, Sisulizer automatically assigns “Context value” for these items. Sisulizer always requires unique values for context items. When your XML file contains many “id” attributes with identical values, it certainly cause missing strings in Sisulizer’s project, scan issues and other troubles. If you encountered similar issues, you should find “id” attributes with assigned “Context value”Â inÂ your tags tree, and change it on “Normal value” via context menu. Next you should re-scan your project.
- During installation Sisulizer can install examples for different XML files. These files are by default installed in XML subdirectory of Sisulizer installation directory (Windows XP) or [User]\Documents\Sisulizer 2008\XML sudirectory (Windows Vista). This subdirectory contains following projects:
- combined.slp – for XML file with included combined text
- country.slp – for XML file with Localize value
- segmented.slp – for XML file with enabled segmentation feature
- vehicle.slp – for XML file with included images
- If your binary source (for example Win32 exe file) contains embedded XML data, you can also use these same tags settings as for separated XML file. Simply, right click in Project tree on XML sub-node of your binary source node, and select “Properties” in context menu.
- Sisulizer allows to add many similar files to your project by selecting “Localize all similar files in a directory”. In this way you can add also directory with XML files. However, if you want to create in this way a correct project, your XML files should be really similar, that is, files should have identical tags structure, because Sisulizer use one tags settings for all files added in this way. If you would like to add many XML files with different tags structures, you can chose “Localize a file or files” option in “Project Wizard” and use Shift or Ctrl for selecting many files in “Project Wizard – Select File” step.Â From build 292 you can use â€œLocalize all similar files in a directoryâ€ option also for XML with different structure, but in “Project Wizard – Select Directory” step you should select “*.*” instead “*.xml”. This option add to project all supported files, so if your directory contains also other supported file types (e.g. exe or DLL), Sisulizer also adds these files to project.