プラグインで使用されているスクリプトレットを UTF-8 にしたい (PR #1390 関連)
PRありがとうございます。取り込ませていただきました。
既存のプラグインを .sct から .wsc に変更するのは、上書きインストール時に以前の .sct ファイルを削除したり、 ZIP版で上書きされることを考えると、しんどそう躊躇してしまいそうです。
.sct でもUCS-2LE(UTF-16)で保存して、以下の様にプラグインを修正すれば、複数の言語には対応できそうですが、これだとまずいでしょうか? (GitHub等でバイナリファイル扱いされてdiffが見えなくなりそうというものはありますが...)
また、最終的には、WinMerge同梱プラグインで使用している文字列は日本語部を取り除き、各言語に翻訳してもらえるように、.po ファイルに移して、.poファイルから各言語の文字列を取得したいと思っています。
--- C:/dev/winmerge/Plugins/dlls/CompareMSExcelFiles.sct Thu Jun 30 23:05:19 2022 +++ C:/dev/winmerge/Build/X64/Debug/MergePlugins/CompareMSExcelFiles.sct Fri Jul 1 23:15:48 2022 @@ -606,7 +606,7 @@ Function ShowSettingsDialog() Dim tname: tname = fso.BuildPath(fso.GetSpecialFolder(2), fso.GetTempName() & ".hta") - Dim tfile: Set tfile = fso.CreateTextFile(tname) + Dim tfile: Set tfile = fso.CreateTextFile(tname, True, True) Dim mshta tfile.Write getResource("dialog1") tfile.Close @@ -629,7 +629,7 @@ <html> <head> <title>CompareMSExcelFiles.sct WinMerge Plugin Options</title> - <meta content="text/html" charset="Shift_JIS"> + <meta content="text/html" charset="UTF-16"> <style> body { background-color: lightgray; } ul { list-style:none; }
Reply To sdottaka
PRありがとうございます。取り込ませていただきました。
取り込みありがとうございます。
UTF-16 の sct ファイルでも動作を確認してみました。
GitHub に UTF-16 のファイルを登録するのはうれしくない気がするので、多言語対応したい場合は別途 UTF-8 な wsc を用意するか UTF-16 で書き直した sct を手元で管理することになりそうです。
現在 MergePlugins フォルダにある *.sct ファイルは Shift_JIS で記述されているので、 これを (日本語以外の文字列に対応できるように) UTF-8 にしたいという要望です。 試した範囲では、下記のような状況でした。
*.sct を UTF-8 で保存しても「プラグイン」-「プラグインの設定...」を実行するとエラーになり、 UTF-8 を使用するには sct から wsc に移殖する必要がありそうです。
insert datetime.sct を insert datetime.wsc に書き換えて動作するところまでは確認しました。 ファイル名を変更した場合 *.sln ファイルや InnoSetup フォルダ以下も書き換える必要があるので、 書き直したスクリプトレットは PR に含めていません。