[WPF] ローカライズとLocBaml

wpfのlocalizationの際に使用するツール LocBaml.
以前はWindows SDKに入っていたらしいのだが、今は含まれていない。

以下のMSDNではダウンロードしてmsbuildでツールを作成する、というプロセスが記述されている。

How to: Localize an Application
http://msdn.microsoft.com/en-us/library/ms746621.aspx

実際はcsprojファイルは locbaml_SDK.csprojというファイル名だった。生成されるexeは LocBaml.exeになっている。

wpf unleashedを読むと、上記のページとは使い方がちょっと違っている。上記ページでは

LocBaml.exe /parse en-US/HelloApp.resources.dll /out:Hello.csv

が実行例。一方、本のほうでは、

LocBaml.exe /parse projectname.g.cs.resources /out:en-us.csv

のようになっている。

LocBaml.exeが resourcesファイルなどと同じフォルダ内におかれている必要がある、という暗黙の仕様があるようだ。
LocBaml.exeがresourcesファイルやdllと同じフォルダにない場合には

c:\Users\somewhere\obj\x64\Debug>c:\Users\Myfolder\LocBaml /verbose /parse Projectname.g.en-US.resources /out:en-us.csv
Microsoft (R) Baml Localization Utility 0.0.0.0
Copyright (C) Microsoft Corporation 2005. All rights reserved.

Writing localizable values for baml stream...
    'Projectname.g.en-US.resources:mainwindow.baml'...ファイルまたはアセンブリ 'Project, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'、またはその依存関
係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。

とのエラーになる。

LocBaml.exeに関するドキュメントがあまりなく、stackoverflow.comサイトの質問にもLocBamlでエラーが出るというものがいくつかある。

以下の回答でLocBamlをアセンブリと同じところに置く、となっていたので自分の間違いに気づいた。

How does Locbaml work?
http://stackoverflow.com/questions/4933726/how-does-locbaml-work

このツールはlocalizeの際には必要なツールであり、msdnサイトでもこのツールを使う手順が説明されている。にもかかわらずVisual StudioやSDKに入っていないのはどういうわけなんだろう。

広告

コメントを残す

コメントを投稿するには、以下のいずれかでログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。