WPFアプリをローカライズするときは、言語リソースをサテライトアセンブリとして配布するのが普通だと思う。アセンブリはResource.resxのテーブルに書いてVSで作る方法や、使ったことはないがLocBamlというツールを使って生成する方法などがある。
しかし、今回Picmvrでは、とにかくローカライズの手間を減らしたかったのでサテライトアセンブリを作らなかった。どれくらい手間を減らしたかったというと、言語リソースファイルすら一つも作りたくなかった(特に言語リソースの文字列それぞれのリソース名を考えたり見るのが苦痛で、匿名リソース的なものにできないかと考えていた)。
そこで、今回C#とXAMLの文字列リテラルを擬似的に多言語化して記入することにした。これはText="$りんご$Apple"的な記法を使う。そしてC#とXAMLに対応したプリプロセッサ的なツールを作り、そのソースコード内のリテラルをビルド時に解決するというやり方をしてみた。一応うまくいったようだ。
ローカライズ情報がC#とXAMLコード内に完全におさまるので、翻訳の分業には全く向かないが、プログラマが一人でプログラミングと全翻訳を担当するケースであれば作業効率の点でなかなか良いかもしれない。プリプロセッサ的なツールの設計・実装からローカライズまで短時間でできた。いつものようにソースコードを書くだけで、翻訳テーブルを広げて編集するような手間は発生しない。
配布アプリは、言語リソースがなく、EXEファイルに言語情報が完全に含まれる非グローバルなアプリと同じような構成になる。そしてVSのソリューション構成の方に別言語が追加される。
ビルドのたびにローカライズ処理が発生するのが難点。またBlendなどでのデザイン編集がとてもやりにくくなる。
ビルドのたびにローカライズ処理が発生するのが難点。またBlendなどでのデザイン編集がとてもやりにくくなる。
ダウンロード:
数年、Picmvrを使わせてもらっています、
返信削除良いソフトですね、ひとつ要望があります
転送後の属性を読み取り専用にしたいのです。
ぜひ、対応をお願いいたします。
コメントありがとうございます。読み取り専用属性のご要望ですが、便利なシチュエーションもありそうですので検討したいと思います。
削除picmvrを使わせていただいております
返信削除撮影日付の入っていないファイルをドロップすると動作を停止してしまいます
対策をお願いします
撮影日付の入っていないJPEGファイルをドロップしてみましたが、再現しません。
返信削除できれば詳しい情報(障害の起きたファイル、命名ルール設定、全体的な設定)などを頂ければ幸いです。
このコメントは投稿者によって削除されました。
削除ファイル名はPhoto_Dima_01等、ごく一般的なファイル名です
削除命名ルールはG:\Users\xxxx\Pictures\gra\checked\%Y%m\%o
全体設定は初期設定のままだと思います
撮影月でフォルダー分けをしているのでその部分が問題なのでしょうか?
スルーするか、ユニークなフォルダー名で分けてもらえるとありがたいです
コメントありがとうございます。情報をいただけて助かります。
削除さて撮影月でフォルダー分けするのは問題ありませんが、命名ルールの「G:\Users\xxxx\」や「G:\Users\」への書き込みアクセス許可は大丈夫でしょうか。ここのアクセス許可がないと、現バージョンのPicmvrは必ず動作を停止します(←この問題を修正したver.0.77をさきほど上書きリリースしましたので、よろしければお試しください)。
この場合Picmvrを管理者権限で実行するとうまくいくかもしれません。
ところで、「撮影日付の入っていないファイル」とは、具体的には「EXIFヘッダがない、もしくはEXIFヘッダに日付が記録されていないJPEGファイル)という理解でよろしいでしょうか?
逆に撮影日付の入っているファイルでは、エラーなくコピーできるのでしょうか?
なお、Picmvrは撮影日付の入っていないファイル(=EXIFヘッダに撮影情報がないファイル)は、タイムスタンプを撮影日として扱います。
ついさきほど再リリースしたver0.77では、書き込みアクセス許可のないフォルダにコピーしようとした場合に、動作停止していたのを、エラーメッセージウィンドウ表示に変更しました。
アクセス許可は問題ありません
削除管理者権限で起動するとドロップが出来ません
撮影日付が入ってないファイルでもタイムスタンプで仕分けが可能なものがあったりしました
相変わらず幾つかのファイルで停止していました
何度も再起動が面倒臭くなったので、Ralphaでjpg>jpgの画像変換をしたら全部いけました
お騒がせしました
了解しました。
返信削除さしつかえなければ、その必ずエラーの発生するJPEGファイルをメールか何かで頂けるとうれしいです。