初期状態のSandCastleでドキュメントを作ると、こんな警告が…。
[exec] SHFB : warning BE0003: Sandcastle shared content for the 'ja-JP, 日本語 (日本)' language could not be found. Using 'en-US, English (US)' defaults. [C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010 \Projects\Sample\DocBuild.shfbproj]
どうやらドキュメント中の、本分ではない見出しその他などの表現が英語のままなのは、日本語のローカライズ設定が無いためらしい……。この辺が役立つのだろうか。
- TimberLandChapel's Tech Blog / 【Sandcastle】Sandcastle January 2008 のローカライズ
- http://blogs.timberlandchapel.com/blogs/timberlandchapel/archive/2008/03/22/sandcastlelocalize.aspx
で、ここから持ってきたと思われる同僚さんのファイルを使ってローカライズ設定やってみたんだが……ドキュメント生成を行おうとすると……
[exec] ValidatingDocumentationSources [exec] GenerateSharedContent [exec] SHFB : error BE0020: Unknown field tag: 'FeedbackVisibility' [C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\Sample\DocBuild.shfbproj] [exec] Failed [exec] Build details can be found in C:\Documents and Settings\Administrator\ My Documents\Visual Studio 2010\Projects\Sample\Help\LastBuild.log [exec] プロジェクト "C:\Documents and Settings\Administrator\ My Documents\Visual Studio 2010\Projects\Sample\DocBuild.shfbproj" (既定のターゲット) のビルドが終了しました -- 失敗。
えぇっ……。そりゃそうか。使ったローカライズパッチファイルはバージョン1.6.4.0用。一方、今使っているSandCastleはバージョン 1.9.3.0。使えるタグなどが変わっていても仕方ないだろう。これはやっかいかも。Webで検索してみたが、1.9.3用のこういう便利なものを公開してくれている人は居ないようだ。
FeedbackVisibilityタグがUnkownというエラー
さて、しらべてみると……FeedBackVisibilityという単語が登場しているのは、C:\Program Files\EWSoftware\Sandcastle Help File Builder\SharedContent にある 「VS2005BuilderContent_ja-JP.xml」というファイルの中。これ、今回のローカライズファイルセットに含まれていたファイル。一方、末尾が「-US」の英語版ファイルなどは前からあったことから、これと中身を比較してみると……。
英語版は
<!-- NOTE: The feedback area MUST appear first or it won't show up! --> <item id="footer"><A NAME="feedback"></A><span id="fb" class="feedbackcss"> </span> {@FooterText}{@Comments} {@Copyright}</item>
日本語版は
<!-- NOTE: The feedback area MUST appear first or it won't show up! --> <item id="footer"><A NAME="feedback"></A><span id="fb" class="feedbackcss" {@FeedbackVisibility}> </span> {@FooterText}{@Comments} {@Copyright}</item>
このspanタグで囲まれた中にある「{@FeedbackVisibility}」が、最新版のSandCastleでは解釈できないのだろう。これを消して-USと同じような記述に変えたところ、次は「ShowFeedbackControl」タグに関しても同じエラーが…。
ShowFeedbackControlタグがUnknownというエラー
これもVS2005BuilderContent_ja-JP.xmlに記述があるので、US版と比較して消してみよう。US版ではここは「false」となっている。この部分、どうやらこのアットマークで始まるのは変数で、動的に指定が可能だったのが固定に変えられた、そんな感じみたい。ここをfalseに変えて再度試してみる。
……できた。
参考
- vjedogonia/Sandcastleでヘルプを作ろう 〜Sandcastle Help File Builderで日本語のヘルプを作る
- http://vjedogonia.blogspot.com/2010/05/sandcastlesandcastle-help-file-builder.html
- SandCastle/Localizing Language Resource Files
- http://www.ewoodruff.us/shfbdocs/Index.aspx?topic=html/e2ed6222-c3ee-4c6e-b0f9-fa3c86bc3e2c.htm