Closed sempreff closed 3 months ago
確認したいことがいくつかあります。
(1) このメッセージは、/I また /V 引数を渡されて起動したときにどうなりますか?どうなるべきだと思いますか?
(2) 「ログダイアログで存在しないパスを指定した場合に出るエラーダイアログ」はi18n対応していますか?このメッセージはどうですか?
(1) について、 どうなるか:/I は #158 を書いた時点での想定通りの動作でした。/V はクラッシュしました。 どうなるべきか:今時点では、/I あるいは /V が指定されている場合は、インタラクションが生じないようになるべきだと思います。 (2) について、 いずれもディレクトリ名・ファイル名について日本語で表示されることを確認しています。(確認の趣旨とずれているかもしれません)
(2)
「ログダイアログで存在しないパスを指定した場合に出るエラーダイアログ」は CVTWindow::OnFileLog()
で実装されていて、"Can not create a `%s' file." がそのまま使用されている(i18n 化されていない)ことを確認しました。
(1)
/V あるいは /I が指定されていた場合はインタラクションが生じないようにしてみました。
(2)
TTMessageBoxInfoW の message_key が NULL のものは他にもあるようですが、 メッセージをローカライズするかどうかについて、何か基準のようなものがあるでしょうか? 例えば「基本的にはローカライズする方針だけれどまだ未作業の箇所がある」というようなことでしょうか。
例えば「基本的にはローカライズする方針だけれどまだ未作業の箇所がある」というようなことでしょうか。
そうですね。
MesageBox から変換してそのままなものもあると思います。 親がNULLだったり、MesageBox(A)のままだったりもあります。 メッセージはi18n化していきたいですね。
「ファイルが開けない」だど、 MSG_CANTOPENERROR などが使えそうですが、どうでしょうか (ぱっと見、MSG~ は MessageBox向けな印象です)
途中のディレクトリが無いなどで書けない(開けない)ケースもあるし ファイルはあるけれど書けない(書き込めない)ケースもあるようだ、ということで MSG_LOGFILE_WRITE_ERROR としてみました。
ガイドありがとうございます。英語のメッセージファイルは(iniファイルで UILanguageFile=lang_utf16le\English.lng
のように指定すれば)プログラムから読み込まれますが、title_default
や message_default
はソースコード上の文字列と English が同じになるようにしておくべき、と理解しました。
また、English がベースでセクションとキーは言語間で同じになっている状態が to be と理解しました。
現状では言語間でセクションやキーの相違(過不足)があるようです。それらの修正は不要でしょうか、あるいは 別Issueを立てて対応するのが良いでしょうか?
例)
English にはあるが Japanese にない DLG_SCP_SELECT_FILE_TITLE
DLG_SCP_SELECT_DEST_TITLE
Japanese にはあるが English にない DLG_SENDFILE_TERATERM4
等、 [TTXCheckUpdate]
@sempreff ありがとうございます。
言語間でセクションやキーの相違(過不足)
いずれかが先にマージされたらもう片方でそれを取り込めばいいと思っていますが、マージまでの段取りがありましたらご教示ください。
ソースコード上の文字列と English が同じになるようにしておくべき、と理解しました。 また、English がベースでセクションとキーは言語間で同じになっている状態が to be と理解しました。
そうですね英語ベースでね。 (英語以外(絵文字とか)をソースの文字列内に入れようとすると ソースの文字コードを検討しないといけないですね)
マージまでの段取り
ばっちり決まってはいないのですが、
改版履歴に追記して一段落ですね 内部的な変更なら書かないこともあるのですが、 エラー時にメッセージ表示するようにしたというと 追加したほうがよいかなと思います。 どうでしょう? @nmaya
その次がマージで、 これはチームメンバしかできないですよね。
lng ファイルの1行目はコンフリクトすると思います。
悩ましいですね。並行作業していると history.html もコンフリクトしそうです。
みなさんどうしているのか分かりませんが、こんなことをしているのでしょうか?
(1) がゼロならプロジェクト側は楽ですが、そう思い通りにはならないだろうと思います。 (2) はプロジェクト側で PR を取り込んでからプロジェクト側でできないことはないですが、「歴史改変は自分だけが触れる所で行うべし」というものだったと思うので、PRする側にやってもらったほうが間違いがないと思っています。
改版履歴
「LogDefaultPath に実在しないパスが指定されていて LogAutoStart=on でログ記録が開始できないとき、エラーメッセージを表示するようにした」 こんな感じでしょうか?
history.html がコンフリクトしてしまいますね。 今回はGitHub上でmargeして、改版履歴を追加しました。
gitだけを使って、GitHubを使わないマージだと、 マージしたところに(コミットea20294)に改版履歴を混ぜこんで pushするかなと思います。
クローズします。
いずれかが先にマージされたらもう片方でそれを取り込めばいいと思っていま
したが、結果的にコンフリクト対応のお手間をかけさせてしまって恐縮です。マージありがとうございました。
概要
LogDefaultPath が不適切に設定されていると、LogAutoStart によるログ出力開始に失敗しますが、気づけません。
期待の動作
ログダイアログで存在しないパスを指定した場合に出るエラーダイアログと同等の挙動でユーザにお知らせできると良いです。
環境
Windows10 Pro 22H2 Tera Term 5.2