![]() ![]() |
|||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||
Dear Alchemy Technology User, | |||||||||||||||||||||||||||||||||||||
The TechBytes newsletters are all about learning about Catalyst and its Experts, discovering features you may not be familiar with, making the most of the tool and getting tips on maximizing your productivity. I personally select and compile the articles based on the most common or interesting questions from you our support customers. All the released articles are available on our website, in the Support section. Use your Support Centre login to access all the past articles along with other resources available to our premium support members. As always, don't hesitate to let me know if there is any topic you would like covered in this TechBytes newsletter. Cyril Vallin |
|||||||||||||||||||||||||||||||||||||
I wanted to wet your appetite and list out the new features which you can expect to see in the release of Catalyst 11, currently in development. New File Formats support
XLIFF Export / Import XLIFF segmentation UI Redesign Term Harvest 2.0 Leverage Expert Enhancements
Pseudo Translate Expert Other changes
|
|||||||||||||||||||||||||||||||||||||
Exploring automation
Catalyst offers a very large panel of Experts making tedious tasks a doodle. However while working on many languages as part of your localisation project, you still have to repeat your steps a lot. This is where automation becomes important in saving time. The syntax and list of all the ezScript commands are detailed in Help menu > ezScript Reference The automation can start very small, from just creating TTKs with your latest source files to fully integrating with your localisation build process. ezScript commands are like DOS commands which can be integrated in a scripting language or simply added to batch files (.bat). It's not as complicated as it may sound and ultimately is where you want to go if you want to optimize an efficient localisation process. And you don't have to find a way to include time in your busy schedule to investigate how to do it. You can take it one step at a time, starting with just creating TTKs in a few minutes. ezScript commands can be added to a batch file in sequence and will be ran one after the other. The most basic implementation to complete the following 3 steps would look like this in your batch file
Let's take a closer look at each step Creating TTKs is a good starting point in testing out automation given it is what you probably do the most. A basic ezScript /M command looks like this
Catalyst is either setup a system environment (in your path) or you replace it with the full path to Catalyst.exe on your machine, i.e. "C:\Program Files (x86)\Alchemy Software\Catalyst 10.0\Catalyst.exe". There are many more options available with the /M (Insert files) command. For instance you can insert files in 3 different ways: Specifying a single file, using a file list, or pointing to a directory which is inserted with all its contents recursively (or not). The really interesting point about the insert command is that in one command you are actually creating a TTK project, inserting one or more files, and declaring the source and target languages. That's a lot of clicks when performed in the interface!
With your TTKs created using your latest source files, you are most likely to want to apply your existing translations from the previous translated TTK.
This command leverages all the files within the TTK C:\Version2\TTKFiles\File.ttk with the translations from C:\Version1\TTKFiles\File.ttk using the User Profile options contained in the registry. This means using the last leverage settings used in the Catalyst interface. Note at this stage that you can use another ezScript command to load different settings to suit your needs, but let's not worry about the settings in our first trial.
This command extracts all files from C:\Version2\TTKFiles\File.ttk and stored then in C:\Destination. It's very straight forward.
Your imagination or process will dictate what you can add next. For example, you may want to add a Pseudo Translate step between the leverage and extraction so that all new strings are already translated before you extract the files for your Localised build going to QA. Thus testing already for any potential over translation which would break your build.
Explore an Advanced automation Sample We have prepared a sample package to give you a case study to explore. You should be able to download and expand this zip file to a folder on your machine and use the batch files almost immediately. You will need to set the Catalyst path and the path to where you copy the files, so that the scripts can work.
Once that is done, you can call RunAll.bat
Alternatively, you can call each of the individual batch files 00 – 06 in order to see how they operate and examine the result after each step. I hope you will find it clear. Myself and the Support team are here to help you if you have questions.
|
|||||||||||||||||||||||||||||||||||||
Managing .NET 32bit and 64bit assemblies Although Catalyst can manage all types of file format regardless to it being the 32bit or 64bit Catalyst edition, to manage .NET assemblies, one version or the other may be necessary depending on the flag set within. .Net assemblies are compiled for x86 (32bit) or x64 (64bit) with one of the following flag: Any CPU This flag affects the version of Catalyst you need to use to insert and translate the assembly. The table below shows that while an assembly with "Any CPU" flag can be translated in either Catalyst 32bit or Catalyst 64bit, a specific CPU assembly needs to be translated in the relevant Catalyst version. Using the Microsoft tool CorFlags.exe, you can examine an assembly's status.
Opening a TTK which has 64 bit .NET files in a 32 bit edition results in this message: This TTK contains 64-bit Microsoft .NET Framework assemblies and cannot be opened. However note that 32 bit files in a TTK file can be opened in a 64 bit edition of Catalyst but cannot be inserted or extracted in a 64 bit version.
Catalyst 10 32bit & 64bit installation It is possible to have both versions of Catalyst installed on a Windows 64bit operating system. Both installations will share the same license file and settings. Windows 64bit will install all 32bit native applications in the Program Files (x86) folder using WoW64.
|
|||||||||||||||||||||||||||||||||||||
Locking the version block in .NET assemblies
If you are dealing with .NET assemblies, you are probably familiar with over translating the version block which result in breaking the assembly when extracted. Indeed, there are several items found in the version resource which must not be changed as part of localising the file. You discover this very quickly when you for example Pseudo Translate the file to test it in your localised build. For example, this version block ...
... is pseudo translated with French settings like so ...
... but extracting the file results in an error seen in the Results pane
Locking Keywords Add the following to your Keyword file or create a separate keyword just for the purpose of locking .NET version blocks. There is no reason you can't apply several Keyword files in sequence. So the way you utilize keywords is flexible enough to suit your agile process. // Catalyst ID values required to lock segments within Version Blocks based on ID values LOCK-SEGMENTS-ID:Comments Applying the above keywords to our example will yield the following results
Each string has been fully locked preventing any over translation. It also has the benefit of lowering the translatable word count, thus saving translation costs :-)
|
|||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||
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 |
|||||||||||||||||||||||||||||||||||||