毎度のお話ですが、Streetw☆さんから指摘をいただいていた日本語ワーニングの件、
Warning: Sandcastle shared content for the 'ja-JP, 日本語 (日本)' language could not be found. Using 'en-US, English (US)' defaults.
色々と調べていて、このあたり、ここのページをじっくり読んでから、ソースコードをダウンロード、実際にプログラムを読んで解決しました。
http://www.codeproject.com/dotnet/SandcastleBuilder.asp#LangResources
すべての鍵は、にらんだとおりでCulture.name プロパティ、LocaleName「ja-JP」にあります。つまり、SaneCastle Help File Builderは
- 「ワタシ、ニホンジンデース」と伝えるためにまずはコードページの情報をもっておき、
- それを画面で選択させ、
- コンパイル時にプロパティで選択されたそのコードにあわせたContentリソースを検索、
- あればそれを使い、無ければWarningを出してから標準の「en-US」として処理を進めていた
んですね。作りとしては単純な処理フローです、理解してしまえば(おい)
カンタンな手順は以下に。使用するファイルやフォルダ位置などについては今までの私の日記をご参照のほど、お手数ですがお願いします。
まず、最初に、「ワタシニホンジンデース」宣言。これはここにあるとおり。
http://blogs.wankuma.com/esten/archive/2007/10/15/102147.aspx
次に、日本語表示リソースの準備。これも、ここにあるとおり。
http://blogs.wankuma.com/esten/archive/2007/10/18/102655.aspx
そしてラスト、このコードページでヘルプファイルを作成させるために、ニホンジンの領土を確保(おい)つまり、それぞれのContentに対して、Culture.nameのLocaleNameでサブフォルダを作成します。 具体的にいうと、
ほにゃらら\Sandcastle\Presentation\Shared\content\ja-JP
に
shared_content.xml
そしてさらに、
ほにゃらら\Sandcastle\Presentation\[自分の雛形]\Content\ja-JP
に
feedBack_content.xml
reference_content.xml
token_content.xml
conceptual_content.xml
とセット。使用するファイルは今まで作ってきた日本語版のものでOK。
準備できたら、コンパイルします。すると、Help File Builder が言語のサブフォルダを検索、ファイルを取ってきてそこからSandCastleにファイルを渡して処理してくれますので
Generating shared content files (ja-JP, 日本語 (日本))...
とメッセージが表示され、日本語HelpFileBulderとなります。Localize完了!スッキリ♪
というわけで、LocaleNameが存在する言語であれば、この方法で他言語化は自由自在、すごいぜ、SandCastle!
あー。長かった。
>そのうちこの記事を多言語化?なのか?そうなのか?(自爆)