Trados Business Manager
Speech to Text
Managed Translation - Enterprise
Translation Management Connectors
Language Weaver Connectors
Language Weaver Edge
Tridion Docs Developers
RWS User Experience
RWS Community Internal Group
RWS Access Customer Portal
RWS Professional Services
RWS Training & Certification
RWS Enterprise Technology Partners
Trados Academic Partners
Trados Approved Trainers
ETUG (European Trados User Group) Public Information
Machine Translation User Group
Nordic Tridion Docs User Group
Tridion Docs Europe & APAC User Group
Tridion UK Meetup
Tridion User Group Benelux
Tridion User Group New England
Tridion User Group Ohio Valley
Tridion West Coast User Group
WorldServer User Group
Trados GroupShare Ideas
Trados Studio Ideas
Language Weaver Ideas
Language Weaver Edge Ideas
RWS Language Cloud TMS Ideas
RWS Language Cloud Terminology Ideas
RWS Language Cloud Online Editor Ideas
Managed Translation - Enterprise Ideas
Tridion Docs Ideas
Tridion Sites Ideas
LiveContent S1000D Ideas
Events & Webinars
To RWS Documentation
To RWS Support
Detecting language please wait for.......
Hello. While running xychange, I ran into something that puzzles me. It may be a bug in the code but I wanted to run it by the group before opening up a ticket, just in case I’m missing something obvious.When I run xychange using command “/opt/xyvision/xz/bin/xychange …” and my job ticket is set to call the wrong Xychange Library, xychange does not work, as I would expect. However, I still get this information in a log file for my job:Pass 1, Transformation table: Table1Transformed … bytes…Pass 2, Transformation table: Table2Transformed … bytes…>>> Successful completion of XyChange <<<But, if I manually run an Import command on the same DIV in PathFinder, I get this, which I consider correct:Running XychangePass 1, Transformation table: Table1Transformation file ' Table1' does not existERROR: Xychange failedI know that the manual import is using “/opt/xyvision/xz/bin/import.pl…”.My question is why does running /opt/xyvision/xz/bin/xychange report success to my log file even though the transformations actually do fail?Any feedback is appreciated.Thanks.
Since the beginning of Xy (somewhere back in 1982), xychange has always defaulted to "tt sys" if it cannot find the specified translation table. As you have noticed, it contains a translate of "a" to …
The 2 certs I mentioned is about all there will be to inherit but I promise you'll get your fair share.I will submit the suggestion to the SDL ideas site.Now - something just occurred to me. As I wrote…
And a quick scan of the import.pl shows: # Handle quoted arguments that (may) contain spaces @rargs = "-e -proc -cd $divpath $xychange $input $output" =~ /(["'].+?["']|\S+)/g;So xychange is run…
Try running xychange with the -X switch for added verbose message and see if that provided more detailed messages when trying to run against an incorrect library or translation table. There is also a -debug switch available to you when running from command.
For more info on xychange, run xyhelp xychange, or check the Command Line Utilities doc.
Since the beginning of Xy (somewhere back in 1982), xychange has always defaulted to "tt sys" if it cannot find the specified translation table. As you have noticed, it contains a translate of "a" to "a" which basically does nothing. I don't know for sure why it does this, but if I had to guess its because we did not want auto-processing to stop for any reason. An error would abort and the goal is to always have some Division produced even though it might not be correct.
If you look at "xyhelp xychange", you will see that there is a "-e" option which means exact match the translation table and not default to "sys". So if you can have it anyway you want.
Although you might find it strange behaviour, Xychange translation tables are looked up in exactly the same way as any other style file. If it can not find a file it ends up by using the 'sys' version that is sitting in the Lsyslib folder.(just like Steve just explained)So the behaviour you see is (and has always been) intended. Whether it makes sense that is a different question.
That is why I asked a couple of years ago to change the default behaviour. But as engineering hates to change existing behaviour (and that is a good thing but at the same time very annoying), I got the -e option in return.
I always make sure that the '-e' option is set in the interface and then set the profile to remember my last settings. Like that you will always run xychange manually with the -e option set and get an error when the translation table can not be found. (I always set the -kp option as well, a wonderful thing when debugging things)Tip for your programmers: if you create a script that transforms things always make sure to add the -e option when running a xychange step. Like that xychange will fail when it can not find the table it needs!
Many thanks for including me in your will.But I do want to stipulate that I do not recognize any debts that you might want to pass on to me :-)Changing the message is an excellent idea.So why don't you put in onto the SDL ideas site.(https://community.sdl.com/ideas/contenta-ideas/i/ideas-xpp)I would support that idea...
The 2 certs I mentioned is about all there will be to inherit but I promise you'll get your fair share.I will submit the suggestion to the SDL ideas site.Now - something just occurred to me. As I wrote in my original message, a manual import fails under this scenario.Does this mean that the xychange command uses the default behavior of looking in Lsyslib as a last resort but that import.pl does not use this default behavior?Just wondering...
And a quick scan of the import.pl shows: # Handle quoted arguments that (may) contain spaces @rargs = "-e -proc -cd $divpath $xychange $input $output" =~ /(["'].+?["']|\S+)/g;So xychange is run with the -e switch when using the import.pl tool...
Ah, okay, that makes sense, Thank you for the reply, Bart. By the way, I submitted the suggestion for rewording the default message.
Remember to upvote your idea! :)