SDL supplies a group of sample automatic actions that you can use to test whether your content is complete and whether a file type does what you want it to do. These are the “Pseudotranslate” actions:
- Pseudotranslate: Copy Segments – Copies the source segment into the target segment without any modification.
- Pseudotranslate: Increase Segment Size – Pads the size of the target segment by appending extra characters in the target, as a configurable percentage of the source segment.
- Pseudotranslate: Replace Each Character – Replaces each character of each word in the source with a user-specified string.
- Pseudotranslate: Replace Each Word – Replaces each word in the source with a user-specified string in the target.
- Pseudotranslate: Reverse Each Word – Reverses the letters in each word in the source segment.
- Pseudotranslate: Wrap Each Segment – Wraps the source segment with a user-specified prefix and suffix in the target.
- Pseudotranslate: Wrap Each Word – Wraps the words in the source with a user-specified prefix and suffix in the target.
These actions enable you to see whether your content is ready to be translated before you pay to have it translated. Basically, you test the process first, and then check the result to see if your file type is ready for real content. There are several things you might test:
- Make sure that all of the translatable content has been properly exposed for translation. For example, if you were translating the strings of a product, you might do a pseudo translation and then look to see if all the strings in the application were translated.
- Make sure that your file type can handle large strings. When you translate from English into languages like German, the strings get much larger. You can test to make sure that your file type is correctly set up to work with longer strings.
- Make sure that your file type can handle the source and target character sets. You might need to handle character sets like right-to-left languages or multibyte (Asian) characters.
You can do all of this without paying anything for translation. Once you have done all of this, and fixed your application to handle all of these cases, you can then do the real translation and feel confident that your file type is ready.
Each of the Pseudotranslators has its own advantages and disadvantages. For example, if you used the
Replace Each Character Pseudotranslator and replaced every character with the letter "
X", when you looked at the translation, it would look like this:
XXXX XX X XXXX. XXX XXXXX XXXX. XXXX XXXX.
This makes for a very easy way to find text that wasn't translated that should have been. For example, if you see this:
This is a test. XXX XXXXX XXXX. XXXX XXXX.
You can tell that the string "
This is a test." was not translated and should have been. This points to a problem that you need to investigate.
Note: A typical use case for this technique is to be sure the strings in your user interface are all presented for translation. Your strings might be derived from a file named, say,
strings.txt. If you use the
Replace Each Character action to
"translate" this file, then plug it into the UI, you can quickly look for screens that contain English words, rather than
X's. If you find any, those strings should be added to the
strings.txt file. You can then plug the new strings file into the UI, and confirm that all strings are
X's before you begin the real translation.
Alternatively, if you replaced every character with the string "XX", it would double the length of every string and would allow you to see how the file type responds to longer strings. Similarly, if you replaced every character with an Asian character, you could see how the file type responds to multibyte characters.
Of course, the problem with this approach is that it completely destroys the legibility of the content. A different approach might be to "wrap" the strings. For example, if you used the Pseudotranslator to
Wrap Each Segment in the characters "
[" and "
]", the resulting translation might look like this:
[This is a test.] [This is only a test.] [This is a test of the emergency broadcast system.]
As you can see, the text is very legible, but you can also see where the segments begin and end. For example, if you saw this:
This is a test. [This is only a test.] [This is a test of the emergency broadcast system.]
You can see that "This is a test." is not surrounded by brackets. This means it wasn't exposed for translation.