sdlxliffの保存に時間が掛かる

Trados Studio 2011からsdlxliffを保存する際、異常に時間が掛かるという現象が発生することがあるようです。その場合、数メガのファイルであっても、完了まで30分ほどを要します。

環境の詳細
Windows 7 64bit
Trados Studio 2011 SP2R
Microsoft Security Essentials(MSE)

原因
MSEのリアルタイム保護とTrados Studio 2011のコンフリクト
→ 試しにMSEのリアルタイム保護を停止してから保存を行うと、僅かな時間で完了する

回避方法
今のところ(2012.12.7 現在)、根本的な解決方法はありません。
A、Bのいずれかの方法を実行して回避します。

A. 他社のセキュリティソフトを使用する
B. MSEの設定で、Trados Studio 2011を監視対象から外す

ただし、Bの方法はセキュリティの監視レベルを下げることになりますので、一時的な特例措置と考えたほうがいいかと思います。

Tradosはパッチを当てて最新に

最近、Trados2011の案件がポツポツ出てくるようになりました。
少しずつノウハウを蓄積している最中なのですが、早速ちょっとしたトラブルに見舞われました。

ソースファイルはFrameMaker(mif)。sdlxliffからmifに書き出すと、クロスリファレンスのマーカーテキストが消えてしまうというものです。マーカー自体は残っており、その内容だけが綺麗さっぱり無くなっています。ちなみに、クライアントからはパッケージとしてファイルが支給され、プロジェクトの読み込みなどには問題が見られませんでした。

試しに自前の環境で同様にパッケージを作成し、mif書き出しを行なってみたところ、マーカーテキストはちゃんと残っていました。そこで、先方から支給されたsdlxliffと当方で作成したものを比較すると、明らかな違いが見つかりました。その抜粋をご覧ください。

当方でパッケージ作成したファイル(SDL Trados 2011 SP2R

<tag id=”3″>
<ph name=”Cross-Ref” word-end=”false” seg-hint=”IncludeWithText”><mk name=”Cross-Ref”/></ph>
<props>
<value key=”mtype”>9</value>
<value key=”mcurrpage”>9</value>
<value key=”unique”>1059038</value>
<value key=”markerValue“>マーカーテキストの内容</value>
</props>
</tag>

先方から支給されたファイル(SDL Trados 2011 SP1

<tag id=”3″>
<ph name=”Cross-Ref” word-end=”false” seg-hint=”IncludeWithText”><mk name=”Cross-Ref”/></ph>
<props>
<value key=”mtype”>9</value>
<value key=”mcurrpage”>9</value>
<value key=”unique”>1059038</value>
<value key=”value“>マーカーテキストの内容</value>
</props>
</tag>

赤色の部分のみの違いですが、これよってマーカーテキストが削除されてしまうことがわかりました。確認してみたところ、先方で使用しているTrados 2011はSP1とのこと、こちらでは最新のパッチを適用しSP2Rとなっています。

これはTradosすべてのバージョンにおいて起きうる問題です。たとえば、Trados 2007ではPowerPoint(pptx)用フィルタが当方で確認しただけでも3種類(バージョン)あります。数種類ある修正パッチの適用の差異で、インストールされるフィルタのバージョンも変化します。これがターゲットに書き戻せないというトラブルの原因となります。

弊社のポリシーとして、Tradosは常にパッチを当て最新のビルドを使用するようにしています。社内では統一が取れており細かいバージョンの差異は問題ないのですが、お客様とのやり取りの中でこのようなトラブルに見舞われることもあります。

解決法としては、やはり「常にパッチを当て最新のビルドを使用する」に尽きるのではないかと思います。クライアント、翻訳者、各々の環境において、最新パッチを見送らなくてはならない特別な理由がないかぎりは、最新パッチの導入にご協力を賜りたくお願い申し上げる次第です。

Change background color of specific rows for a Spark DataGrid

Change background color of specific rows where value in a cell matches the string “sample”.

<fx:Script>
	<![CDATA[
		import mx.core.ClassFactory;			
		import spark.skins.spark.DefaultGridItemRenderer;			

		private function test_itemRendererFunction(item:Object, column:GridColumn):ClassFactory {
			if (item == null) {
				return new ClassFactory(DefaultGridItemRenderer);
			} else {
				// if(item.d1=="sample") 
				if(item[column.dataField]=="sample") {
					return new ClassFactory(GrayGridItemRenderer);						
				} else {
					return new ClassFactory(DefaultGridItemRenderer);
				}
			}
		}			
	]]>
</fx:Script>

<s:DataGrid>
	<s:columns>
		<s:ArrayList>
			<s:GridColumn dataField="d1" headerText="h1" itemRendererFunction="test_itemRendererFunction"></s:GridColumn>
			<s:GridColumn dataField="d2" headerText="h2" itemRendererFunction="test_itemRendererFunction"></s:GridColumn>
			<s:GridColumn dataField="d3" headerText="h3" itemRendererFunction="test_itemRendererFunction"></s:GridColumn>
		</s:ArrayList>
	</s:columns>
</s:DataGrid>

GrayGridItemRenderer.mxml

<?xml version="1.0" encoding="utf-8"?>
<s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
					xmlns:s="library://ns.adobe.com/flex/spark" 
					xmlns:mx="library://ns.adobe.com/flex/mx" clipAndEnableScrolling="true">	
	<fx:Script>
		<![CDATA[
			override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
				super.updateDisplayList(unscaledWidth, unscaledHeight);
				if (data && data[column.dataField]!=''){
					lblData.text = data[column.dataField];		
				}
			}
		]]>
	</fx:Script>
	<s:Rect top="0" bottom="0" right="0" left="0">
		<s:fill>
			<s:SolidColor color="#E0E0E0" alpha="0.5"/>
		</s:fill>
	</s:Rect>
	<s:Label id="lblData" top="7" left="7" bottom="5" color="0x000000" alpha="0.5"/>	
</s:GridItemRenderer>