Tech Mail

November 2013

News and Updates | Statistics and Analysis Expert | Layout Manager options explained | Active TM
Translating Duplicates | Competition time!

 

Dear Alchemy Technology User,
Cyril Vallin

Hello!
For those of you who have recently joined our Premium Support Group I welcome you to this latest release of my TechBytes newsletter. And those of you faithful members, I am delighted to continue to deliver you with some insightful articles on Catalyst. We are a community of users within the same industry and I invite everyone to share their successful practices.

You will remember in the last TechBytes I introduced a competition with a €25 voucher for grabs. It has received a tremendous response and many of you have participated. Early last September, I got in touch with our lucky winner, picked randomly from all the entries received.

Congratulations to Catherine Cheetham, Senior Technical Author at Renishaw plc UK, winner of August 2013 TechBytes competition.
Thanks Catherine for sending on a picture (right). It's always nice to put a face to a name.

Since this was a blast and I can't wait to give another coffee card away, I have decided to continue the competition. I look forward to the next draw as it's exiting to see which of you guys will get picked :-)

As always, don't hesitate to let me know if there is any topic you would like covered in this TechBytes newsletter.

Cyril Vallin
Product Support Manager at Alchemy Software Development. 


 

News and Updates

New Premium support pages on www.Alchemysoftware.com

In September we updated our website, now faster and more user friendly. I invite you to visit the site if you haven't browsed our site in a while.
I particularly want to draw your attention to the Support Center page. Accessible to Premium Support Users only I centralized all the information available to you in one location.
For instance, you can now access all the TechBytes articles published directly on the website. No need to keep copies of the Email, simply browse to the Support Center page and review the list of articles covered. Handy for the new starters at your organization or when you feel you want to hone your Catalyst knowledge and skills.
Also available are all the milestone releases of Catalyst and other Alchemy Software's, including a link to the latest Hotfix build of Catalyst 10.

To access Premium Support contents in the Support Center area of our website, use your Support Center username and password. If you do not already have your credentials or you have lost them, please send us an Email at support@alchemysoftware.com and we'll setup or reset your login.

Catalyst 10 SP2 released

The Service Pack 2 for Catalyst 10 was released in October. I would recommend you update your installation if you have not done so already.

Review the notification Email directly at this page: Catalyst 10 SP2 release

Halloween celebrations

Halloween: The night of 31 October, the eve of All Saints' Day, often celebrated by children dressing up in frightening masks and costumes. Halloween is thought to be associated with the Celtic festival Samhain, when ghosts and spirits were believed to be abroad.

Pictures of Alchemy Software's Halloween 2013 celebration (Click on the image for a larger resolution).

On that special day in the office, we always have some fun and dress up for the occasion. You'll find me easily in the above pictures, creeping out of my tomb on a dark night. Or was it just the results of a hard day in the office! :-)

It was great fun, and even more so as Dublin won best group photo amongst all the Translations.com offices worldwide!

 

 
Statistics and Analysis Expert

We often get asked in Support the difference between the figures seen in the Statistics Pane compared to the figures generated by the Analysis Expert. Particularly why the duplicates count is different? We will explore the differences using a simple example but first let's delve into the meaning of those differences.
In this explanation, it is assumed that the TTK and the TM (Translation Memory) used is the very same.

The Analysis Expert is designed to give you statistic expectations on your TTK based on the TMs available. While using this Expert, a leverage is performed with the lowest Fuzzy match level (50%) and shows how much fuzzy matches can potentially be achieved.
In comparison, the Leverage Expert will only apply translations to a set Fuzzy match level, between None and 50%.

The Analysis Expert counts the duplicates for which there are no possible translation, meaning no fuzzy match is available. Those duplicates are counted under the "Duplicates (untranslated)" row in the Analysis Expert report. If a duplicate string gets a fuzzy match, for example a 65% fuzzy match, it is counted on the "50% - 74% Fuzzy match" row. It is expected to be translated so it is not counted on the "Duplicate (untranslated)" row.
While in the statistics pane, the same duplicate string (after a leverage with no fuzzy match selected) will be counted under "Untranslated Duplicates" because it is not translated. It didn't get a fuzzy match.

An easy misunderstanding when comparing statistics of a TTK (in which translations were leveraged) against the Analysis Expert results, is that Fuzzy match values are not the same. If you run 2 different leverages in the same TTK using the same TM, but using different Fuzzy match values, you will get different wordcounts in the statistics as more strings can potentially be translated with a lower Fuzzy match value.

Example

The Translation Memory - Statistics

Here a TM in which I translated and signed off the first string (which is duplicated in the file)
3 strings of 4 words are duplicated: "This is a van". So that's 4 words counted in the untranslated unique and 8 words untranslated duplicates (i.e. the second and third instance of the duplicated string "This is a van")

[Click image to enlarge]

Explanation of words counts:

Translated- String 01 is translated and counts 4 words.
Not translated (16 words) - Strings with ID 02, 03, 04 and 05 are untranslated accounting for 16 words. This is the total for the following 2 groups, Untranslated Unique and Untranslated Duplicates.
Untranslated Unique (8 words) - 2 unique strings are untranslated, that's "This is a van" and "This is a car", counting 8 words. Any other instance of those exact strings are counted as a Duplicate below.
Untranslated Duplicates (8 words) - All repeats of the Untranslated Unique are counted here. That's 2 instance of "This is a van", accounting for 8 words.

Leveraging - Resulting statistics

I made a copy of this TTK and revert all text for the purpose of this demo.
Then leverage from the TM above. Using No Fuzzy match option.

This is the Statistics of the project after performing a Leverage using the above TM. We will compare those statistics with the statistics generated by the Analysis Expert using the same files.

The string "This is a van" is still not translated and so we have 8 untranslated duplicates.

[Click image to enlarge]

Explanation of words counts:

Translated- String 01 and 03 are the same and got a translation leveraged. The first string is Signed Off and the second is a 100% match. Total 8 words.
Not translated (12 words) - Strings with ID 02, 04 and 05 are untranslated accounting for 12 words. This is the total for the following 2 groups, Untranslated Unique and Untranslated Duplicates.
Untranslated Unique (4 words) - 1 unique string is untranslated: "This is a van", counting 4 words. Any other instance of this exact string is counted as a Duplicate below.
Untranslated Duplicates (8 words) - All repeats of the Untranslated Unique are counted here. That's 2 instance of "This is a van", accounting for 8 words.

Analysis Expert

Performing the Analysis, the string "This is a van" has a 75%-84% fuzzy match from the TM. It is expected to be translated and so all words included in iterations of that string are counted as translated. Leaving no duplicates as seen when Leveraging with no Fuzzy match value.

If you performed the Leverage using a Fuzzy match value of 50%, you would get the same results as the above Analysis:

[Click image to enlarge]

 

 
Layout Manager options explained

The Layout Manager is a feature only available in the DeveloperPro edition of Catalyst. Designed to automatically resize your Win32 binaries' dialogs after the translations have been entered.
Based on the languages you translate your projects in, the expansion of the translated text will most likely cause some truncations and overlaps. Resizing all the individual dialogs will be very time consuming, even with the resizing aids available. This is were the Layout Manager excels, making light work of all the resizing. Intelligently resizing and aligning the controls on the translated dialogs. The feature will resize horizontally all the resources on the dialogs in order to fit all the translations. It works best when no overlapping controls exist on the original resources but it will complete all the ground work for you.

I am often asked what the unit used in the Layout Manager is, and how the alignment sensitivity works?

Unit and Alignment Sensitivity

The above values (thresholds and sensitivity) are  DLU (Dialog Units).

Turning the Allow Dialog Resizing option off does not stop resizing altogether, as it would render using the Layout Manager ineffective, but instead will maintain the original overall dialog size. This is the "background" size of the dialog, still allow on resources within the dialog to be resized.

When a control is moved or resized, to properly fit a new translation, and that control is aligned with other controls, Layout Manager tries to re-align the controls that were previously aligned. In order to do that, Layout Manager analyses the original dialog to check if 2 or more controls were originally aligned.

Intuitively, you might think that 2 controls are right aligned if the right  border has the same x value. But sometimes, 2 controls look right-aligned even though the right border x coordinate differs by 1 or 2 pixels. This difference might be more or less obvious depending on the controls. If the controls are different, e.g. a text edit and a button, the right border might look aligned even if the coordinates are different.

For example, in the dialog below, the Groupbox Group 1, button Button 1 and the empty text edit are clearly aligned…to a human eye.
If you check the code, you see that the text edit control is one pixel wider than both the groupbox and the button.

If the text in Button 1 is translated into a string that requires the button to be resized, ideally you’d like to resize both the Group 1 and the text edit in the same way, so that the result looks similar to the original.

If the property of “being aligned” was a strict one, then the result might look like this:

Here, the button was resized, because of the translation. Then the Group 1 was resized as well, to keep the alignment, because in the original analysis, it was found that the group box and the button were aligned. The edit control, was not found to be aligned to the button, because the dimensions were not exactly the same.

To make things work smoothly, you need a certain flexibility in what you consider aligned. Hence the need of an alignment sensitivity.
With the default value of 2 (dialog units), Layout manager is told to consider aligned any 2 controls whose borders position differ at most 2.

With the default value of 2, the edit control would have been considered aligned to the button and it would have been resized accordingly.
Please note, once the edit control would have been resized, the final width would be the same as the button (and the group box).
So, if initially the width was different by 1 pixel, this difference would be gone in the final version: the 2 controls would be perfectly aligned.

So of course, and you guessed it already, setting the alignment sensitivity to 0 tells Layout Manager to only consider aligned controls that are perfectly (mathematically) aligned.

Threshold values

The threshold values are clearly detailed in the Help but let me list them out again in this article for completeness:

Group Box distance This is the minimum distance between a group box and adjacent objects. Setting this value will define how close items can be to each other in a generated layout.
Controls distance This is the minimum distance between a control and adjacent objects. Setting this value will define how close items can be to each other in a generated layout.
Dialog Right Threshold This is the minimum distance between a control and right border of a dialog frame. Setting this value will define how close items can be placed to the edge of a dialog.
Group Box Right Threshold This is the minimum distance between a group box and adjacent objects. Setting this value will define how close items can be placed to the edge of a group box.

 

The Layout Manager is a formidable feature of Catalyst Developer/Pro edition. It was designed in older versions of Catalyst when the need to automate resizing automatically, and most of all intelligently, dialog boxes. Saving countless hours of manual work.

 

 
Active TM

An Active TM (Translation Memory) is used as translation sources to find and display suggested translations in the Translator Toolbar. Of course you are not restricted to use only one TM. You can add as many as you wish and of different formats.
It is the translator's best friend allowing to re-use existing translations whether it comes as a 100% or Fuzzy match.

Adding an Active TM consists of clicking the add button in the Active TM & MT tab at the bottom of the Translator Toolbar.

Then select the ellipses button to navigate to the desired Translation Memory file.

Open the dropdown list to select the Translation Memory file type desired. In this example I select a .ttk file format.

With the Translation Memory now listed in the Active TM list, Catalyst will offer any translation match so that you can re-use it. Select the Reference tab to see the translation matches.
For example below, the string "Using Quickship" has a 100% match found in the Active TM.

In the above Reference tab, on the right hand side you can see crucial information on the Translations available. For instance the current translation match is scored at a 100%. The icon circled in blue shows the translation originates from a TTK translation memory.

At the bottom (circled in red) "1 of 2" indicates there is another translation available for the string "Using Quickfind", and we can tell by the percentage below the right around that the next available translation is also a 100%.

The icons for the translation source you may see are:

.tm files

Note in this example, the translation is a fuzzy match scored at 90%

.ttk files

Catalyst project format

.ppf files

Publisher project format

Recycled translation

For any matching source string already translated in any opened TTK in Catalyst

Machine Translation

Note, for machine translations, no percentage are ever supplied

ALEX

Alchemy Language Exchange server

All other file formats

When more than one translation is available, you can toggle between the translations using the blue arrow buttons.

Hint: If you are a really fast translator only ever using the keyboard, the alternative to clicking the blue arrow buttons is to use the [CTRL]+[+] and [CTRL]+[-] shortcut keys.

Now that you know the meaning of each translation source and how to select from multiple suggestions, all there is left to know is how to apply the translation?

To Get the translation suggestion you have various options to suit your preference:

  • Press Alt+home

  • Click on the Get translation button in the top toolbar


  • Double click the translation source icon

  • Select the translated string (or part of) and drag to translation frame

    Note this last method will not automatically replace the english source text which pre populates the translation field.

 

 

 

Alchemy supports the following translation memory formats:

Added as Active TM here:

TTK - Alchemy CATALYST Translation Toolkit

Native bi-lingual format for Alchemy CATALYST. All current and previous versions of Alchemy CATALYST project files are supported.

Added as Active TM here:

PPF - Alchemy PUBLISHER Project File

Native bi-lingual version for Alchemy PUBLISHER. All current and previous versions of Alchemy PUBLISHER project files are support.

Added as Active TM here:

TM - Alchemy Multilingual Desktop TM

Alchemy multi-lingual desktop TM.

Added as Active TM here:

ALEX - Alchemy Language Exchange

Alchemy TM Server product. It is based on Microsoft SQL Server technology and is a high-powered server-based Translation Memory.

Added as Active TM here:

TMW - TRADOS Desktop TM

Native desktop TM from SDL TRADOS. (NOTE: You need an active SDL TRADOS license on your machine to access this file type.)

Added as Active TM here:

TMX - Translation Memory Interchange Format

XML based interchange format for Translation Memories.

Added as Active TM here:

TXT - Tab Delimited Files

Eye-readable text file containing two columns of text. Column one contains original source text and column two contains translation.

Added as Active TM here:

TXLF and TXML - WordFast Pro Bi-lingual format

TXLF and TXML are native formats in WordFast Pro files.

Added as Active TM here:

SDL TM Server

SDL TM Server product. It is based on Microsoft SQL Server technology and is a high-powered server-based Translation Memory.

Added as Active TM here:

WordFast TM Server

SDL TM Server product. It is based on Microsoft SQL Server technology and is a high-powered server-based Translation Memory.

Added as Active TM here:

Machine Translation

Google and PromtMT connectors.


 
Translating Duplicates

With this article, I wanted to touch on what I see as an efficient way to translate your TTKs, more specifically the first step into translating your project. In most cases, duplicate strings are part of your project. We all agree that it would be ridiculous to have to translate the same string more than once. This is where the Duplicates filter comes into play. It groups all duplicates together.

I think it is a good process to always start translating your projects with the duplicates, so that you translate the first instance of each duplicate and automatically apply the same translation to all duplicates. With this task performed first, you can then concentrate on translating the rest of the individual strings. Let's review how it's done.


First highlight your file in the navigator pane, choose “All Strings” and apply the Duplicates filter.


The option “Instantly Translate Duplicates” and “Interactively Translate Duplicates” found in the toolbar, will be greyed out until you translate the first instance of a duplicate segment.

Click picture for larger image


Translate the first instance of a duplicate segment. The options to “Instantly Translate Duplicates” and “Interactively Translate Duplicates” are now available in the Power Translate Toolbar.

Click picture for larger image


Choose “Instantly Translate Duplicates”and all instances of the duplicates will automatically get translated. Catalyst also jumps to the next untranslated duplicate. This is why after clicking to instantly translate duplicates you have to scroll up to see the results. In the screenshots example every subsequent segment under the first instance of Background color will be translated with Hintergrundfarbe.

Hint: Keyboard shortcut to Instantly Translate Duplicates is Alt + Page Down

After the instant translation has finished both duplicate translation options in the Power Translate Toolbar are greyed out until you translate a new duplicate segment or click into an already translated duplicate segment.

Click picture for larger image


In this example we have duplicate segments for Background color and Background colour. The “Instantly Translate Duplicates” option has only translated all the segments for Background color; however, the same German translation can apply for Background colour.

Click on Hintergrundfarbe to activate the two Duplicate buttons on the Power Translate Toolbar. Now choose “Interactively Translate Duplicates” and click on the two segments for Background colour, the strings will be translated with Hintergrundfarbe.
The “Interactively Translate Duplicates” option lets you choose which segments you want to translate with the last text you entered.

Click picture for larger image


To turn off “Interactively Translate Duplicates” click on the option again in the Power Translate Toolbar.

Once you have completed translating all Duplicates, change the filter to "Filter: Default" or "Untranslated" to complete the rest of the translations.

 
Competition time!

After the success of the first Competition in last TechBytes article, I have decided to make this a regular part of the quarterly newsletter.
Complete the puzzle below to find out the letters to form the Secret Word. Then Email the Secret Word to techbytes@alchemysoftware.com with the title "November 2013 competition".

We will draw a winner in the new year. Something to look forward to after the end of year break.

The winner will get a €25 Starbucks© card to spend on your favorite Coffee Break treats in your local store. It has been great fun to annouce to our August winner, Catherine Cheetham from Renishaw plc UK" and I look forward to your entry.

Let's play!

Across

2. Pane containing wordcounts

4. Not a 100% match translation in a leverage (5,5)

5. Other term for String

6. Celtic festival

8. Updated in September

9. Values set in the Layout Manager

10. Its value set between 0 and 4 defines the difference in pixel for 2 or more dialog controls to be aligned.

Down

1. Catalyst Expert only available in Developer/Pro licenses (6,7)

3. Repetitions

7. American president featured in the pictures in the News section.

 

Secret Word
Hint: Traditional Celebration

 

 



 
Conclusion

Thanks for taking the time to read this instalment of TechBytes. It has been fun to write and I hope you found some if not all of it beneficial. We always welcome new article ideas, so if there is a feature you feel works really well and is worth mentioning, or indeed if clarification on a particular topic would help you, please let me know so together we can make TechBytes as useful as possible for everyone.

My best wishes
Cyril Vallin